chore: Update discovery artifacts (#1366)

## Discovery Artifact Change Summary:
feat(adexchangebuyer): update the api https://github.com/googleapis/google-api-python-client/commit/46d87cb3e1f85ec9201134402b3c3afd2eb55770
feat(analyticsadmin): update the api https://github.com/googleapis/google-api-python-client/commit/adaafffbdeab31f05f9ad62d0f58846313bb3858
feat(content): update the api https://github.com/googleapis/google-api-python-client/commit/3b3e9be7e17c4efa89b45ac671a7c7f627a34cd7
feat(dialogflow): update the api https://github.com/googleapis/google-api-python-client/commit/254b9413a2ede306917031a2117f7af2df28a103
feat(manufacturers): update the api https://github.com/googleapis/google-api-python-client/commit/25bf19f14a09428ab3fc6e51b0f6812867f99b04
feat(prod_tt_sasportal): update the api https://github.com/googleapis/google-api-python-client/commit/af243b57a7039f4e01259fb085c7b07a66106fcf
feat(redis): update the api https://github.com/googleapis/google-api-python-client/commit/5228389cbd5fceb1bf8c2d36086faa147d91e50f
feat(remotebuildexecution): update the api https://github.com/googleapis/google-api-python-client/commit/7c8b314e5508dda81cfb673039ea032f593fa97d
diff --git a/docs/dyn/accessapproval_v1.folders.html b/docs/dyn/accessapproval_v1.folders.html
index 8833519..bca1e5f 100644
--- a/docs/dyn/accessapproval_v1.folders.html
+++ b/docs/dyn/accessapproval_v1.folders.html
@@ -133,7 +133,7 @@
   "enrolledAncestor": True or False, # Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).
   "enrolledServices": [ # A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
     { # Represents the enrollment of a cloud resource into a specific service.
-      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       "enrollmentLevel": "A String", # The enrollment level of the service.
     },
   ],
@@ -157,7 +157,7 @@
   "enrolledAncestor": True or False, # Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).
   "enrolledServices": [ # A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
     { # Represents the enrollment of a cloud resource into a specific service.
-      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       "enrollmentLevel": "A String", # The enrollment level of the service.
     },
   ],
@@ -180,7 +180,7 @@
   "enrolledAncestor": True or False, # Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).
   "enrolledServices": [ # A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
     { # Represents the enrollment of a cloud resource into a specific service.
-      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       "enrollmentLevel": "A String", # The enrollment level of the service.
     },
   ],
diff --git a/docs/dyn/accessapproval_v1.organizations.html b/docs/dyn/accessapproval_v1.organizations.html
index 1a9b7c5..7065c0f 100644
--- a/docs/dyn/accessapproval_v1.organizations.html
+++ b/docs/dyn/accessapproval_v1.organizations.html
@@ -133,7 +133,7 @@
   "enrolledAncestor": True or False, # Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).
   "enrolledServices": [ # A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
     { # Represents the enrollment of a cloud resource into a specific service.
-      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       "enrollmentLevel": "A String", # The enrollment level of the service.
     },
   ],
@@ -157,7 +157,7 @@
   "enrolledAncestor": True or False, # Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).
   "enrolledServices": [ # A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
     { # Represents the enrollment of a cloud resource into a specific service.
-      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       "enrollmentLevel": "A String", # The enrollment level of the service.
     },
   ],
@@ -180,7 +180,7 @@
   "enrolledAncestor": True or False, # Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).
   "enrolledServices": [ # A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
     { # Represents the enrollment of a cloud resource into a specific service.
-      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       "enrollmentLevel": "A String", # The enrollment level of the service.
     },
   ],
diff --git a/docs/dyn/accessapproval_v1.projects.html b/docs/dyn/accessapproval_v1.projects.html
index e97a645..28e6403 100644
--- a/docs/dyn/accessapproval_v1.projects.html
+++ b/docs/dyn/accessapproval_v1.projects.html
@@ -133,7 +133,7 @@
   "enrolledAncestor": True or False, # Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).
   "enrolledServices": [ # A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
     { # Represents the enrollment of a cloud resource into a specific service.
-      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       "enrollmentLevel": "A String", # The enrollment level of the service.
     },
   ],
@@ -157,7 +157,7 @@
   "enrolledAncestor": True or False, # Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).
   "enrolledServices": [ # A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
     { # Represents the enrollment of a cloud resource into a specific service.
-      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       "enrollmentLevel": "A String", # The enrollment level of the service.
     },
   ],
@@ -180,7 +180,7 @@
   "enrolledAncestor": True or False, # Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).
   "enrolledServices": [ # A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
     { # Represents the enrollment of a cloud resource into a specific service.
-      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      "cloudProduct": "A String", # The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       "enrollmentLevel": "A String", # The enrollment level of the service.
     },
   ],
diff --git a/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html b/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html
index 525d7a0..6c6dc53 100644
--- a/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html
+++ b/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html
@@ -103,6 +103,7 @@
       "buyerPitchStatement": "A String", # A pitch statement for the buyer
       "directContact": "A String", # Direct contact for the publisher profile.
       "exchange": "A String", # Exchange where this publisher profile is from. E.g. AdX, Rubicon etc...
+      "forecastInventory": "A String",
       "googlePlusLink": "A String", # Link to publisher's Google+ page.
       "isParent": True or False, # True, if this is the parent profile, which represents all domains owned by the publisher.
       "isPublished": True or False, # True, if this profile is published. Deprecated for state.
diff --git a/docs/dyn/analyticsadmin_v1alpha.accounts.html b/docs/dyn/analyticsadmin_v1alpha.accounts.html
index 8db650a..8c4db71 100644
--- a/docs/dyn/analyticsadmin_v1alpha.accounts.html
+++ b/docs/dyn/analyticsadmin_v1alpha.accounts.html
@@ -393,6 +393,11 @@
               "name": "A String", # Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID.
               "updateTime": "A String", # Output only. Time when this link was last updated.
             },
+            "googleSignalsSettings": { # Settings values for Google Signals. This is a singleton resource. # A snapshot of a GoogleSignalsSettings resource in change history.
+              "consent": "A String", # Output only. Terms of Service acceptance.
+              "name": "A String", # Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: "properties/1000/googleSignalsSettings"
+              "state": "A String", # Status of this setting.
+            },
             "iosAppDataStream": { # A resource message representing a Google Analytics IOS app stream. # A snapshot of an IosAppDataStream resource in change history.
               "bundleId": "A String", # Required. Immutable. The Apple App Store Bundle ID for the app Example: "com.example.myiosapp"
               "createTime": "A String", # Output only. Time when this stream was originally created.
@@ -401,6 +406,11 @@
               "name": "A String", # Output only. Resource name of this Data Stream. Format: properties/{property_id}/iosAppDataStreams/{stream_id} Example: "properties/1000/iosAppDataStreams/2000"
               "updateTime": "A String", # Output only. Time when stream payload fields were last updated.
             },
+            "measurementProtocolSecret": { # A secret value used for sending hits to Measurement Protocol. # A snapshot of a MeasurementProtocolSecret resource in change history.
+              "displayName": "A String", # Required. Human-readable display name for this secret.
+              "name": "A String", # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+              "secretValue": "A String", # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret's parent property.
+            },
             "property": { # A resource message representing a Google Analytics GA4 property. # A snapshot of a Property resource in change history.
               "createTime": "A String", # Output only. Time when the entity was originally created.
               "currencyCode": "A String", # The currency type used in reports involving monetary values. Format: https://en.wikipedia.org/wiki/ISO_4217 Examples: "USD", "EUR", "JPY"
@@ -477,6 +487,11 @@
               "name": "A String", # Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID.
               "updateTime": "A String", # Output only. Time when this link was last updated.
             },
+            "googleSignalsSettings": { # Settings values for Google Signals. This is a singleton resource. # A snapshot of a GoogleSignalsSettings resource in change history.
+              "consent": "A String", # Output only. Terms of Service acceptance.
+              "name": "A String", # Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: "properties/1000/googleSignalsSettings"
+              "state": "A String", # Status of this setting.
+            },
             "iosAppDataStream": { # A resource message representing a Google Analytics IOS app stream. # A snapshot of an IosAppDataStream resource in change history.
               "bundleId": "A String", # Required. Immutable. The Apple App Store Bundle ID for the app Example: "com.example.myiosapp"
               "createTime": "A String", # Output only. Time when this stream was originally created.
@@ -485,6 +500,11 @@
               "name": "A String", # Output only. Resource name of this Data Stream. Format: properties/{property_id}/iosAppDataStreams/{stream_id} Example: "properties/1000/iosAppDataStreams/2000"
               "updateTime": "A String", # Output only. Time when stream payload fields were last updated.
             },
+            "measurementProtocolSecret": { # A secret value used for sending hits to Measurement Protocol. # A snapshot of a MeasurementProtocolSecret resource in change history.
+              "displayName": "A String", # Required. Human-readable display name for this secret.
+              "name": "A String", # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+              "secretValue": "A String", # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret's parent property.
+            },
             "property": { # A resource message representing a Google Analytics GA4 property. # A snapshot of a Property resource in change history.
               "createTime": "A String", # Output only. Time when the entity was originally created.
               "currencyCode": "A String", # The currency type used in reports involving monetary values. Format: https://en.wikipedia.org/wiki/ISO_4217 Examples: "USD", "EUR", "JPY"
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.androidAppDataStreams.html b/docs/dyn/analyticsadmin_v1alpha.properties.androidAppDataStreams.html
index ebb7cf9..2828401 100644
--- a/docs/dyn/analyticsadmin_v1alpha.properties.androidAppDataStreams.html
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.androidAppDataStreams.html
@@ -75,6 +75,11 @@
 <h1><a href="analyticsadmin_v1alpha.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1alpha.properties.html">properties</a> . <a href="analyticsadmin_v1alpha.properties.androidAppDataStreams.html">androidAppDataStreams</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="analyticsadmin_v1alpha.properties.androidAppDataStreams.measurementProtocolSecrets.html">measurementProtocolSecrets()</a></code>
+</p>
+<p class="firstline">Returns the measurementProtocolSecrets Resource.</p>
+
+<p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.androidAppDataStreams.measurementProtocolSecrets.html b/docs/dyn/analyticsadmin_v1alpha.properties.androidAppDataStreams.measurementProtocolSecrets.html
new file mode 100644
index 0000000..81314d2
--- /dev/null
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.androidAppDataStreams.measurementProtocolSecrets.html
@@ -0,0 +1,246 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="analyticsadmin_v1alpha.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1alpha.properties.html">properties</a> . <a href="analyticsadmin_v1alpha.properties.androidAppDataStreams.html">androidAppDataStreams</a> . <a href="analyticsadmin_v1alpha.properties.androidAppDataStreams.measurementProtocolSecrets.html">measurementProtocolSecrets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a measurement protocol secret.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes target MeasurementProtocolSecret.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Lookup for a single "GA4" MeasurementProtocolSecret.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns child MeasurementProtocolSecrets under the specified parent Property.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a measurement protocol secret.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Creates a measurement protocol secret.
+
+Args:
+  parent: string, Required. The parent resource where this secret will be created. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes target MeasurementProtocolSecret.
+
+Args:
+  name: string, Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. (required)
+  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); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Lookup for a single &quot;GA4&quot; MeasurementProtocolSecret.
+
+Args:
+  name: string, Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns child MeasurementProtocolSecrets under the specified parent Property.
+
+Args:
+  parent: string, Required. The resource name of the parent stream. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets (required)
+  pageSize: integer, The maximum number of resources to return. If unspecified, at most 10 resources will be returned. The maximum value is 10. Higher values will be coerced to the maximum.
+  pageToken: string, A page token, received from a previous `ListMeasurementProtocolSecrets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMeasurementProtocolSecrets` 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 ListMeasurementProtocolSecret RPC
+  &quot;measurementProtocolSecrets&quot;: [ # A list of secrets for the parent stream specified in the request.
+    { # A secret value used for sending hits to Measurement Protocol.
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+      &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>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 &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a measurement protocol secret.
+
+Args:
+  name: string, Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}
+
+  updateMask: string, The list of fields to be updated. Omitted fields will not be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.html b/docs/dyn/analyticsadmin_v1alpha.properties.html
index 2aad7fe..73fedf1 100644
--- a/docs/dyn/analyticsadmin_v1alpha.properties.html
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.html
@@ -132,6 +132,9 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Lookup for a single "GA4" Property.</p>
 <p class="toc_element">
+  <code><a href="#getGoogleSignalsSettings">getGoogleSignalsSettings(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Lookup for Google Signals settings for a property.</p>
+<p class="toc_element">
   <code><a href="#list">list(filter=None, pageSize=None, pageToken=None, showDeleted=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns child Properties under the specified parent Account. Only "GA4" properties will be returned. Properties will be excluded if the caller does not have access. Soft-deleted (ie: "trashed") properties are excluded by default. Returns an empty list if no relevant properties are found.</p>
 <p class="toc_element">
@@ -140,6 +143,9 @@
 <p class="toc_element">
   <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates a property.</p>
+<p class="toc_element">
+  <code><a href="#updateGoogleSignalsSettings">updateGoogleSignalsSettings(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates Google Signals settings for a property.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -246,6 +252,27 @@
 </div>
 
 <div class="method">
+    <code class="details" id="getGoogleSignalsSettings">getGoogleSignalsSettings(name, x__xgafv=None)</code>
+  <pre>Lookup for Google Signals settings for a property.
+
+Args:
+  name: string, Required. The name of the google signals settings to retrieve. Format: properties/{property}/googleSignalsSettings (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Settings values for Google Signals. This is a singleton resource.
+  &quot;consent&quot;: &quot;A String&quot;, # Output only. Terms of Service acceptance.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: &quot;properties/1000/googleSignalsSettings&quot;
+  &quot;state&quot;: &quot;A String&quot;, # Status of this setting.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(filter=None, pageSize=None, pageToken=None, showDeleted=None, x__xgafv=None)</code>
   <pre>Returns child Properties under the specified parent Account. Only &quot;GA4&quot; properties will be returned. Properties will be excluded if the caller does not have access. Soft-deleted (ie: &quot;trashed&quot;) properties are excluded by default. Returns an empty list if no relevant properties are found.
 
@@ -340,4 +367,35 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="updateGoogleSignalsSettings">updateGoogleSignalsSettings(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates Google Signals settings for a property.
+
+Args:
+  name: string, Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: &quot;properties/1000/googleSignalsSettings&quot; (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Settings values for Google Signals. This is a singleton resource.
+  &quot;consent&quot;: &quot;A String&quot;, # Output only. Terms of Service acceptance.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: &quot;properties/1000/googleSignalsSettings&quot;
+  &quot;state&quot;: &quot;A String&quot;, # Status of this setting.
+}
+
+  updateMask: string, Required. The list of fields to be updated. Field names must be in snake case (e.g., &quot;field_to_update&quot;). Omitted fields will not be updated. To replace the entire entity, use one path with the string &quot;*&quot; 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:
+
+    { # Settings values for Google Signals. This is a singleton resource.
+  &quot;consent&quot;: &quot;A String&quot;, # Output only. Terms of Service acceptance.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: &quot;properties/1000/googleSignalsSettings&quot;
+  &quot;state&quot;: &quot;A String&quot;, # Status of this setting.
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.iosAppDataStreams.html b/docs/dyn/analyticsadmin_v1alpha.properties.iosAppDataStreams.html
index d6c7359..15b88c5 100644
--- a/docs/dyn/analyticsadmin_v1alpha.properties.iosAppDataStreams.html
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.iosAppDataStreams.html
@@ -75,6 +75,11 @@
 <h1><a href="analyticsadmin_v1alpha.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1alpha.properties.html">properties</a> . <a href="analyticsadmin_v1alpha.properties.iosAppDataStreams.html">iosAppDataStreams</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="analyticsadmin_v1alpha.properties.iosAppDataStreams.measurementProtocolSecrets.html">measurementProtocolSecrets()</a></code>
+</p>
+<p class="firstline">Returns the measurementProtocolSecrets Resource.</p>
+
+<p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.iosAppDataStreams.measurementProtocolSecrets.html b/docs/dyn/analyticsadmin_v1alpha.properties.iosAppDataStreams.measurementProtocolSecrets.html
new file mode 100644
index 0000000..b2c5b1d
--- /dev/null
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.iosAppDataStreams.measurementProtocolSecrets.html
@@ -0,0 +1,246 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="analyticsadmin_v1alpha.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1alpha.properties.html">properties</a> . <a href="analyticsadmin_v1alpha.properties.iosAppDataStreams.html">iosAppDataStreams</a> . <a href="analyticsadmin_v1alpha.properties.iosAppDataStreams.measurementProtocolSecrets.html">measurementProtocolSecrets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a measurement protocol secret.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes target MeasurementProtocolSecret.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Lookup for a single "GA4" MeasurementProtocolSecret.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns child MeasurementProtocolSecrets under the specified parent Property.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a measurement protocol secret.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Creates a measurement protocol secret.
+
+Args:
+  parent: string, Required. The parent resource where this secret will be created. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes target MeasurementProtocolSecret.
+
+Args:
+  name: string, Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. (required)
+  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); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Lookup for a single &quot;GA4&quot; MeasurementProtocolSecret.
+
+Args:
+  name: string, Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns child MeasurementProtocolSecrets under the specified parent Property.
+
+Args:
+  parent: string, Required. The resource name of the parent stream. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets (required)
+  pageSize: integer, The maximum number of resources to return. If unspecified, at most 10 resources will be returned. The maximum value is 10. Higher values will be coerced to the maximum.
+  pageToken: string, A page token, received from a previous `ListMeasurementProtocolSecrets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMeasurementProtocolSecrets` 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 ListMeasurementProtocolSecret RPC
+  &quot;measurementProtocolSecrets&quot;: [ # A list of secrets for the parent stream specified in the request.
+    { # A secret value used for sending hits to Measurement Protocol.
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+      &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>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 &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a measurement protocol secret.
+
+Args:
+  name: string, Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}
+
+  updateMask: string, The list of fields to be updated. Omitted fields will not be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.webDataStreams.html b/docs/dyn/analyticsadmin_v1alpha.properties.webDataStreams.html
index 5a158cd..29642f2 100644
--- a/docs/dyn/analyticsadmin_v1alpha.properties.webDataStreams.html
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.webDataStreams.html
@@ -75,6 +75,11 @@
 <h1><a href="analyticsadmin_v1alpha.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1alpha.properties.html">properties</a> . <a href="analyticsadmin_v1alpha.properties.webDataStreams.html">webDataStreams</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="analyticsadmin_v1alpha.properties.webDataStreams.measurementProtocolSecrets.html">measurementProtocolSecrets()</a></code>
+</p>
+<p class="firstline">Returns the measurementProtocolSecrets Resource.</p>
+
+<p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.webDataStreams.measurementProtocolSecrets.html b/docs/dyn/analyticsadmin_v1alpha.properties.webDataStreams.measurementProtocolSecrets.html
new file mode 100644
index 0000000..f626b73
--- /dev/null
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.webDataStreams.measurementProtocolSecrets.html
@@ -0,0 +1,246 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="analyticsadmin_v1alpha.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1alpha.properties.html">properties</a> . <a href="analyticsadmin_v1alpha.properties.webDataStreams.html">webDataStreams</a> . <a href="analyticsadmin_v1alpha.properties.webDataStreams.measurementProtocolSecrets.html">measurementProtocolSecrets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a measurement protocol secret.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes target MeasurementProtocolSecret.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Lookup for a single "GA4" MeasurementProtocolSecret.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns child MeasurementProtocolSecrets under the specified parent Property.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a measurement protocol secret.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Creates a measurement protocol secret.
+
+Args:
+  parent: string, Required. The parent resource where this secret will be created. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes target MeasurementProtocolSecret.
+
+Args:
+  name: string, Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. (required)
+  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); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Lookup for a single &quot;GA4&quot; MeasurementProtocolSecret.
+
+Args:
+  name: string, Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns child MeasurementProtocolSecrets under the specified parent Property.
+
+Args:
+  parent: string, Required. The resource name of the parent stream. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets (required)
+  pageSize: integer, The maximum number of resources to return. If unspecified, at most 10 resources will be returned. The maximum value is 10. Higher values will be coerced to the maximum.
+  pageToken: string, A page token, received from a previous `ListMeasurementProtocolSecrets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMeasurementProtocolSecrets` 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 ListMeasurementProtocolSecret RPC
+  &quot;measurementProtocolSecrets&quot;: [ # A list of secrets for the parent stream specified in the request.
+    { # A secret value used for sending hits to Measurement Protocol.
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+      &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>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 &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a measurement protocol secret.
+
+Args:
+  name: string, Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}
+
+  updateMask: string, The list of fields to be updated. Omitted fields will not be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A secret value used for sending hits to Measurement Protocol.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Human-readable display name for this secret.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+  &quot;secretValue&quot;: &quot;A String&quot;, # Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret&#x27;s parent property.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/content_v2.products.html b/docs/dyn/content_v2.products.html
index 9d12b49..ca80fee 100644
--- a/docs/dyn/content_v2.products.html
+++ b/docs/dyn/content_v2.products.html
@@ -115,7 +115,7 @@
       &quot;batchId&quot;: 42, # An entry ID, unique within the batch request.
       &quot;merchantId&quot;: &quot;A String&quot;, # The ID of the managing account.
       &quot;method&quot;: &quot;A String&quot;, # The method of the batch entry. Acceptable values are: - &quot;`delete`&quot; - &quot;`get`&quot; - &quot;`insert`&quot;
-      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The product to insert. Only required if the method is `insert`.
+      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The product to insert. Only required if the method is `insert`.
         &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
           &quot;A String&quot;,
         ],
@@ -335,7 +335,7 @@
         &quot;message&quot;: &quot;A String&quot;, # The message of the first error in `errors`.
       },
       &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#productsCustomBatchResponseEntry`&quot;
-      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The inserted product. Only defined if the method is `insert` and if the request was successful.
+      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The inserted product. Only defined if the method is `insert` and if the request was successful.
         &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
           &quot;A String&quot;,
         ],
@@ -561,7 +561,7 @@
 Returns:
   An object of the form:
 
-    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
   &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
     &quot;A String&quot;,
   ],
@@ -762,7 +762,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+{ #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
   &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
     &quot;A String&quot;,
   ],
@@ -962,7 +962,7 @@
 Returns:
   An object of the form:
 
-    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
   &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
     &quot;A String&quot;,
   ],
@@ -1175,7 +1175,7 @@
   &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#productsListResponse&quot;.
   &quot;nextPageToken&quot;: &quot;A String&quot;, # The token for the retrieval of the next page of products.
   &quot;resources&quot;: [
-    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
       &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
         &quot;A String&quot;,
       ],
diff --git a/docs/dyn/content_v2.productstatuses.html b/docs/dyn/content_v2.productstatuses.html
index 529437a..b73d78a 100644
--- a/docs/dyn/content_v2.productstatuses.html
+++ b/docs/dyn/content_v2.productstatuses.html
@@ -182,7 +182,7 @@
         &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#productStatus`&quot;
         &quot;lastUpdateDate&quot;: &quot;A String&quot;, # Date on which the item has been last updated, in ISO 8601 format.
         &quot;link&quot;: &quot;A String&quot;, # The link to the product.
-        &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # Product data after applying all the join inputs.
+        &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # Product data after applying all the join inputs.
           &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
             &quot;A String&quot;,
           ],
@@ -437,7 +437,7 @@
   &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#productStatus`&quot;
   &quot;lastUpdateDate&quot;: &quot;A String&quot;, # Date on which the item has been last updated, in ISO 8601 format.
   &quot;link&quot;: &quot;A String&quot;, # The link to the product.
-  &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # Product data after applying all the join inputs.
+  &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # Product data after applying all the join inputs.
     &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
       &quot;A String&quot;,
     ],
@@ -694,7 +694,7 @@
       &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#productStatus`&quot;
       &quot;lastUpdateDate&quot;: &quot;A String&quot;, # Date on which the item has been last updated, in ISO 8601 format.
       &quot;link&quot;: &quot;A String&quot;, # The link to the product.
-      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # Product data after applying all the join inputs.
+      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # Product data after applying all the join inputs.
         &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
           &quot;A String&quot;,
         ],
diff --git a/docs/dyn/content_v2_1.accounts.html b/docs/dyn/content_v2_1.accounts.html
index 00e0365..85ee63c 100644
--- a/docs/dyn/content_v2_1.accounts.html
+++ b/docs/dyn/content_v2_1.accounts.html
@@ -723,7 +723,7 @@
 Args:
   merchantId: string, The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account. (required)
   accountId: string, The ID of the account for which to list links. (required)
-  maxResults: integer, The maximum number of links to return in the response, used for pagination.
+  maxResults: integer, The maximum number of links to return in the response, used for pagination. The minimum allowed value is 5 results per page. If provided value is lower than 5, it will be automatically increased to 5.
   pageToken: string, The token returned by the previous request.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/content_v2_1.orderreturns.html b/docs/dyn/content_v2_1.orderreturns.html
index 867d08c..7110f8d 100644
--- a/docs/dyn/content_v2_1.orderreturns.html
+++ b/docs/dyn/content_v2_1.orderreturns.html
@@ -146,7 +146,8 @@
 {
   &quot;lineItems&quot;: [ # The list of line items to return.
     {
-      &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item. This value is assigned by Google when an order is created.
+      &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item. This value is assigned by Google when an order is created. Either lineItemId or productId is required.
+      &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to cancel. This is the REST ID used in the products service. Either lineItemId or productId is required.
       &quot;quantity&quot;: 42, # The quantity of this line item.
     },
   ],
diff --git a/docs/dyn/content_v2_1.ordertrackingsignals.html b/docs/dyn/content_v2_1.ordertrackingsignals.html
index 6b92a06..5224aa5 100644
--- a/docs/dyn/content_v2_1.ordertrackingsignals.html
+++ b/docs/dyn/content_v2_1.ordertrackingsignals.html
@@ -100,7 +100,7 @@
     &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
     &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
   },
-  &quot;deliveryPostalCode&quot;: &quot;A String&quot;, # Required. The delivery postal code, as a continuous string without spaces or dashes, e.g. &quot;95016&quot;.
+  &quot;deliveryPostalCode&quot;: &quot;A String&quot;, # Required. The delivery postal code, as a continuous string without spaces or dashes, e.g. &quot;95016&quot;. This field will be anonymized in returned OrderTrackingSignal creation response.
   &quot;deliveryRegionCode&quot;: &quot;A String&quot;, # Required. The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping destination.
   &quot;lineItems&quot;: [ # Information about line items in the order.
     { # The line items of the order.
@@ -126,13 +126,13 @@
     &quot;utcOffset&quot;: &quot;A String&quot;, # 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 }.
     &quot;year&quot;: 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
   },
-  &quot;orderId&quot;: &quot;A String&quot;, # Required. The ID of the order on the merchant side.
+  &quot;orderId&quot;: &quot;A String&quot;, # Required. The ID of the order on the merchant side. This field will be hashed in returned OrderTrackingSignal creation response.
   &quot;orderTrackingSignalId&quot;: &quot;A String&quot;, # Output only. The ID that uniquely identifies this order tracking signal.
   &quot;shipmentLineItemMapping&quot;: [ # The mapping of the line items to the shipment information.
     { # Represents how many items are in the shipment for the given shipment_id and line_item_id.
       &quot;lineItemId&quot;: &quot;A String&quot;, # Required. The line item ID.
       &quot;quantity&quot;: &quot;A String&quot;, # Required. The line item quantity in the shipment.
-      &quot;shipmentId&quot;: &quot;A String&quot;, # Required. The shipment ID.
+      &quot;shipmentId&quot;: &quot;A String&quot;, # Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.
     },
   ],
   &quot;shippingInfo&quot;: [ # The shipping information for the order.
@@ -181,9 +181,9 @@
         &quot;utcOffset&quot;: &quot;A String&quot;, # 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 }.
         &quot;year&quot;: 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
       },
-      &quot;originPostalCode&quot;: &quot;A String&quot;, # The origin postal code, as a continuous string without spaces or dashes, e.g. &quot;95016&quot;.
+      &quot;originPostalCode&quot;: &quot;A String&quot;, # The origin postal code, as a continuous string without spaces or dashes, e.g. &quot;95016&quot;. This field will be anonymized in returned OrderTrackingSignal creation response.
       &quot;originRegionCode&quot;: &quot;A String&quot;, # The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping origin.
-      &quot;shipmentId&quot;: &quot;A String&quot;, # Required. The shipment ID.
+      &quot;shipmentId&quot;: &quot;A String&quot;, # Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.
       &quot;shippedTime&quot;: { # 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&#x27;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&#x27;s limitations. # The time when the shipment was shipped. Include the year and timezone string, if available.
         &quot;day&quot;: 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month.
         &quot;hours&quot;: 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
@@ -217,7 +217,7 @@
     &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
     &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
   },
-  &quot;deliveryPostalCode&quot;: &quot;A String&quot;, # Required. The delivery postal code, as a continuous string without spaces or dashes, e.g. &quot;95016&quot;.
+  &quot;deliveryPostalCode&quot;: &quot;A String&quot;, # Required. The delivery postal code, as a continuous string without spaces or dashes, e.g. &quot;95016&quot;. This field will be anonymized in returned OrderTrackingSignal creation response.
   &quot;deliveryRegionCode&quot;: &quot;A String&quot;, # Required. The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping destination.
   &quot;lineItems&quot;: [ # Information about line items in the order.
     { # The line items of the order.
@@ -243,13 +243,13 @@
     &quot;utcOffset&quot;: &quot;A String&quot;, # 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 }.
     &quot;year&quot;: 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
   },
-  &quot;orderId&quot;: &quot;A String&quot;, # Required. The ID of the order on the merchant side.
+  &quot;orderId&quot;: &quot;A String&quot;, # Required. The ID of the order on the merchant side. This field will be hashed in returned OrderTrackingSignal creation response.
   &quot;orderTrackingSignalId&quot;: &quot;A String&quot;, # Output only. The ID that uniquely identifies this order tracking signal.
   &quot;shipmentLineItemMapping&quot;: [ # The mapping of the line items to the shipment information.
     { # Represents how many items are in the shipment for the given shipment_id and line_item_id.
       &quot;lineItemId&quot;: &quot;A String&quot;, # Required. The line item ID.
       &quot;quantity&quot;: &quot;A String&quot;, # Required. The line item quantity in the shipment.
-      &quot;shipmentId&quot;: &quot;A String&quot;, # Required. The shipment ID.
+      &quot;shipmentId&quot;: &quot;A String&quot;, # Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.
     },
   ],
   &quot;shippingInfo&quot;: [ # The shipping information for the order.
@@ -298,9 +298,9 @@
         &quot;utcOffset&quot;: &quot;A String&quot;, # 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 }.
         &quot;year&quot;: 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
       },
-      &quot;originPostalCode&quot;: &quot;A String&quot;, # The origin postal code, as a continuous string without spaces or dashes, e.g. &quot;95016&quot;.
+      &quot;originPostalCode&quot;: &quot;A String&quot;, # The origin postal code, as a continuous string without spaces or dashes, e.g. &quot;95016&quot;. This field will be anonymized in returned OrderTrackingSignal creation response.
       &quot;originRegionCode&quot;: &quot;A String&quot;, # The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping origin.
-      &quot;shipmentId&quot;: &quot;A String&quot;, # Required. The shipment ID.
+      &quot;shipmentId&quot;: &quot;A String&quot;, # Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.
       &quot;shippedTime&quot;: { # 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&#x27;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&#x27;s limitations. # The time when the shipment was shipped. Include the year and timezone string, if available.
         &quot;day&quot;: 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month.
         &quot;hours&quot;: 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
diff --git a/docs/dyn/content_v2_1.products.html b/docs/dyn/content_v2_1.products.html
index f5c3ac2..c612486 100644
--- a/docs/dyn/content_v2_1.products.html
+++ b/docs/dyn/content_v2_1.products.html
@@ -95,6 +95,9 @@
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#update">update(merchantId, productId, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates an existing product in your Merchant Center account. Only updates attributes provided in the request.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -115,8 +118,8 @@
       &quot;batchId&quot;: 42, # An entry ID, unique within the batch request.
       &quot;feedId&quot;: &quot;A String&quot;, # The Content API feed id.
       &quot;merchantId&quot;: &quot;A String&quot;, # The ID of the managing account.
-      &quot;method&quot;: &quot;A String&quot;, # The method of the batch entry. Acceptable values are: - &quot;`delete`&quot; - &quot;`get`&quot; - &quot;`insert`&quot;
-      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The product to insert. Only required if the method is `insert`.
+      &quot;method&quot;: &quot;A String&quot;, # The method of the batch entry. Acceptable values are: - &quot;`delete`&quot; - &quot;`get`&quot; - &quot;`insert`&quot; - &quot;`update`&quot;
+      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The product to insert. Only required if the method is `insert`.
         &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
           &quot;A String&quot;,
         ],
@@ -304,6 +307,7 @@
         },
       },
       &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to get or delete. Only defined if the method is `get` or `delete`.
+      &quot;updateMask&quot;: &quot;A String&quot;, # The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged. Only defined if the method is `update`.
     },
   ],
 }
@@ -332,7 +336,7 @@
         &quot;message&quot;: &quot;A String&quot;, # The message of the first error in `errors`.
       },
       &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#productsCustomBatchResponseEntry`&quot;
-      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The inserted product. Only defined if the method is `insert` and if the request was successful.
+      &quot;product&quot;: { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The inserted product. Only defined if the method is `insert` and if the request was successful.
         &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
           &quot;A String&quot;,
         ],
@@ -555,7 +559,7 @@
 Returns:
   An object of the form:
 
-    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
   &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
     &quot;A String&quot;,
   ],
@@ -753,7 +757,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+{ #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
   &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
     &quot;A String&quot;,
   ],
@@ -950,7 +954,7 @@
 Returns:
   An object of the form:
 
-    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
   &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
     &quot;A String&quot;,
   ],
@@ -1159,7 +1163,7 @@
   &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#productsListResponse&quot;.
   &quot;nextPageToken&quot;: &quot;A String&quot;, # The token for the retrieval of the next page of products.
   &quot;resources&quot;: [
-    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
       &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
         &quot;A String&quot;,
       ],
@@ -1364,4 +1368,400 @@
     </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="update">update(merchantId, productId, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates an existing product in your Merchant Center account. Only updates attributes provided in the request.
+
+Args:
+  merchantId: string, The ID of the account that contains the product. This account cannot be a multi-client account. (required)
+  productId: string, The REST ID of the product for which to update. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+  &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
+    &quot;A String&quot;,
+  ],
+  &quot;additionalSizeType&quot;: &quot;A String&quot;, # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
+  &quot;adsGrouping&quot;: &quot;A String&quot;, # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
+  &quot;adsLabels&quot;: [ # Similar to ads_grouping, but only works on CPC.
+    &quot;A String&quot;,
+  ],
+  &quot;adsRedirect&quot;: &quot;A String&quot;, # Allows advertisers to override the item URL when the product is shown within the context of Product Ads.
+  &quot;adult&quot;: True or False, # Should be set to true if the item is targeted towards adults.
+  &quot;ageGroup&quot;: &quot;A String&quot;, # Target age group of the item.
+  &quot;availability&quot;: &quot;A String&quot;, # Availability status of the item.
+  &quot;availabilityDate&quot;: &quot;A String&quot;, # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
+  &quot;brand&quot;: &quot;A String&quot;, # Brand of the item.
+  &quot;canonicalLink&quot;: &quot;A String&quot;, # URL for the canonical version of your item&#x27;s landing page.
+  &quot;channel&quot;: &quot;A String&quot;, # Required. The item&#x27;s channel (online or local). Acceptable values are: - &quot;`local`&quot; - &quot;`online`&quot;
+  &quot;color&quot;: &quot;A String&quot;, # Color of the item.
+  &quot;condition&quot;: &quot;A String&quot;, # Condition or state of the item.
+  &quot;contentLanguage&quot;: &quot;A String&quot;, # Required. The two-letter ISO 639-1 language code for the item.
+  &quot;costOfGoodsSold&quot;: { # Cost of goods sold. Used for gross profit reporting.
+    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+  },
+  &quot;customAttributes&quot;: [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., `{ &quot;name&quot;: &quot;size type&quot;, &quot;value&quot;: &quot;regular&quot; }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
+    {
+      &quot;groupValues&quot;: [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
+        # Object with schema name: CustomAttribute
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # The name of the attribute. Underscores will be replaced by spaces upon insertion.
+      &quot;value&quot;: &quot;A String&quot;, # The value of the attribute.
+    },
+  ],
+  &quot;customLabel0&quot;: &quot;A String&quot;, # Custom label 0 for custom grouping of items in a Shopping campaign.
+  &quot;customLabel1&quot;: &quot;A String&quot;, # Custom label 1 for custom grouping of items in a Shopping campaign.
+  &quot;customLabel2&quot;: &quot;A String&quot;, # Custom label 2 for custom grouping of items in a Shopping campaign.
+  &quot;customLabel3&quot;: &quot;A String&quot;, # Custom label 3 for custom grouping of items in a Shopping campaign.
+  &quot;customLabel4&quot;: &quot;A String&quot;, # Custom label 4 for custom grouping of items in a Shopping campaign.
+  &quot;description&quot;: &quot;A String&quot;, # Description of the item.
+  &quot;displayAdsId&quot;: &quot;A String&quot;, # An identifier for an item for dynamic remarketing campaigns.
+  &quot;displayAdsLink&quot;: &quot;A String&quot;, # URL directly to your item&#x27;s landing page for dynamic remarketing campaigns.
+  &quot;displayAdsSimilarIds&quot;: [ # Advertiser-specified recommendations.
+    &quot;A String&quot;,
+  ],
+  &quot;displayAdsTitle&quot;: &quot;A String&quot;, # Title of an item for dynamic remarketing campaigns.
+  &quot;displayAdsValue&quot;: 3.14, # Offer margin for dynamic remarketing campaigns.
+  &quot;energyEfficiencyClass&quot;: &quot;A String&quot;, # The energy efficiency class as defined in EU directive 2010/30/EU.
+  &quot;excludedDestinations&quot;: [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).
+    &quot;A String&quot;,
+  ],
+  &quot;expirationDate&quot;: &quot;A String&quot;, # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` and might be earlier if `expirationDate` is too far in the future.
+  &quot;gender&quot;: &quot;A String&quot;, # Target gender of the item.
+  &quot;googleProductCategory&quot;: &quot;A String&quot;, # Google&#x27;s category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.
+  &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item.
+  &quot;id&quot;: &quot;A String&quot;, # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product is of the form channel:contentLanguage: targetCountry: offerId.
+  &quot;identifierExists&quot;: True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
+  &quot;imageLink&quot;: &quot;A String&quot;, # URL of an image of the item.
+  &quot;includedDestinations&quot;: [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
+    &quot;A String&quot;,
+  ],
+  &quot;installment&quot;: { # Number and amount of installments to pay for an item.
+    &quot;amount&quot;: { # The amount the buyer has to pay per month.
+      &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+    },
+    &quot;months&quot;: &quot;A String&quot;, # The number of installments the buyer has to pay.
+  },
+  &quot;isBundle&quot;: True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
+  &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product.
+  &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#product`&quot;
+  &quot;link&quot;: &quot;A String&quot;, # URL directly linking to your item&#x27;s page on your website.
+  &quot;loyaltyPoints&quot;: { # Loyalty points that users receive after purchasing the item. Japan only.
+    &quot;name&quot;: &quot;A String&quot;, # Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.
+    &quot;pointsValue&quot;: &quot;A String&quot;, # The retailer&#x27;s loyalty points in absolute value.
+    &quot;ratio&quot;: 3.14, # The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.
+  },
+  &quot;material&quot;: &quot;A String&quot;, # The material of which the item is made.
+  &quot;maxEnergyEfficiencyClass&quot;: &quot;A String&quot;, # The energy efficiency class as defined in EU directive 2010/30/EU.
+  &quot;maxHandlingTime&quot;: &quot;A String&quot;, # Maximal product handling time (in business days).
+  &quot;minEnergyEfficiencyClass&quot;: &quot;A String&quot;, # The energy efficiency class as defined in EU directive 2010/30/EU.
+  &quot;minHandlingTime&quot;: &quot;A String&quot;, # Minimal product handling time (in business days).
+  &quot;mobileLink&quot;: &quot;A String&quot;, # URL for the mobile-optimized version of your item&#x27;s landing page.
+  &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item.
+  &quot;multipack&quot;: &quot;A String&quot;, # The number of identical products in a merchant-defined multipack.
+  &quot;offerId&quot;: &quot;A String&quot;, # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
+  &quot;pattern&quot;: &quot;A String&quot;, # The item&#x27;s pattern (e.g. polka dots).
+  &quot;price&quot;: { # Price of the item.
+    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+  },
+  &quot;productDetails&quot;: [ # Technical specification or additional product details.
+    {
+      &quot;attributeName&quot;: &quot;A String&quot;, # The name of the product detail.
+      &quot;attributeValue&quot;: &quot;A String&quot;, # The value of the product detail.
+      &quot;sectionName&quot;: &quot;A String&quot;, # The section header used to group a set of product details.
+    },
+  ],
+  &quot;productHighlights&quot;: [ # Bullet points describing the most relevant highlights of a product.
+    &quot;A String&quot;,
+  ],
+  &quot;productTypes&quot;: [ # Categories of the item (formatted as in products data specification).
+    &quot;A String&quot;,
+  ],
+  &quot;promotionIds&quot;: [ # The unique ID of a promotion.
+    &quot;A String&quot;,
+  ],
+  &quot;salePrice&quot;: { # Advertised sale price of the item.
+    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+  },
+  &quot;salePriceEffectiveDate&quot;: &quot;A String&quot;, # Date range during which the item is on sale (see products data specification ).
+  &quot;sellOnGoogleQuantity&quot;: &quot;A String&quot;, # The quantity of the product that is available for selling on Google. Supported only for online products.
+  &quot;shipping&quot;: [ # Shipping rules.
+    {
+      &quot;country&quot;: &quot;A String&quot;, # The CLDR territory code of the country to which an item will ship.
+      &quot;locationGroupName&quot;: &quot;A String&quot;, # The location where the shipping is applicable, represented by a location group name.
+      &quot;locationId&quot;: &quot;A String&quot;, # The numeric ID of a location that the shipping rate applies to as defined in the AdWords API.
+      &quot;maxHandlingTime&quot;: &quot;A String&quot;, # Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
+      &quot;maxTransitTime&quot;: &quot;A String&quot;, # Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
+      &quot;minHandlingTime&quot;: &quot;A String&quot;, # Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it is not required if maxHandlingTime is present.
+      &quot;minTransitTime&quot;: &quot;A String&quot;, # Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. minTransitTime can only be present together with maxTransitTime; but it is not required if maxTransitTime is present.
+      &quot;postalCode&quot;: &quot;A String&quot;, # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
+      &quot;price&quot;: { # Fixed shipping price, represented as a number.
+        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+      },
+      &quot;region&quot;: &quot;A String&quot;, # The geographic region to which a shipping rate applies.
+      &quot;service&quot;: &quot;A String&quot;, # A free-form description of the service class or delivery speed.
+    },
+  ],
+  &quot;shippingHeight&quot;: { # Height of the item for shipping.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of value.
+    &quot;value&quot;: 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+  },
+  &quot;shippingLabel&quot;: &quot;A String&quot;, # The shipping label of the product, used to group product in account-level shipping rules.
+  &quot;shippingLength&quot;: { # Length of the item for shipping.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of value.
+    &quot;value&quot;: 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+  },
+  &quot;shippingWeight&quot;: { # Weight of the item for shipping.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of value.
+    &quot;value&quot;: 3.14, # The weight of the product used to calculate the shipping cost of the item.
+  },
+  &quot;shippingWidth&quot;: { # Width of the item for shipping.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of value.
+    &quot;value&quot;: 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+  },
+  &quot;shoppingAdsExcludedCountries&quot;: [ # List of country codes (ISO 3166-1 alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
+    &quot;A String&quot;,
+  ],
+  &quot;sizeSystem&quot;: &quot;A String&quot;, # System in which the size is specified. Recommended for apparel items.
+  &quot;sizeType&quot;: &quot;A String&quot;, # The cut of the item. Recommended for apparel items.
+  &quot;sizes&quot;: [ # Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value (see size definition).
+    &quot;A String&quot;,
+  ],
+  &quot;source&quot;: &quot;A String&quot;, # The source of the offer, i.e., how the offer was created. Acceptable values are: - &quot;`api`&quot; - &quot;`crawl`&quot; - &quot;`feed`&quot;
+  &quot;subscriptionCost&quot;: { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
+    &quot;amount&quot;: { # The amount the buyer has to pay per subscription period.
+      &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+    },
+    &quot;period&quot;: &quot;A String&quot;, # The type of subscription period.
+    &quot;periodLength&quot;: &quot;A String&quot;, # The number of subscription periods the buyer has to pay.
+  },
+  &quot;targetCountry&quot;: &quot;A String&quot;, # Required. The CLDR territory code for the item.
+  &quot;taxCategory&quot;: &quot;A String&quot;, # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
+  &quot;taxes&quot;: [ # Tax information.
+    {
+      &quot;country&quot;: &quot;A String&quot;, # The country within which the item is taxed, specified as a CLDR territory code.
+      &quot;locationId&quot;: &quot;A String&quot;, # The numeric ID of a location that the tax rate applies to as defined in the AdWords API.
+      &quot;postalCode&quot;: &quot;A String&quot;, # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
+      &quot;rate&quot;: 3.14, # The percentage of tax rate that applies to the item price.
+      &quot;region&quot;: &quot;A String&quot;, # The geographic region to which the tax rate applies.
+      &quot;taxShip&quot;: True or False, # Should be set to true if tax is charged on shipping.
+    },
+  ],
+  &quot;title&quot;: &quot;A String&quot;, # Title of the item.
+  &quot;transitTimeLabel&quot;: &quot;A String&quot;, # The transit time label of the product, used to group product in account-level transit time tables.
+  &quot;unitPricingBaseMeasure&quot;: { # The preference of the denominator of the unit price.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of the denominator.
+    &quot;value&quot;: &quot;A String&quot;, # The denominator of the unit price.
+  },
+  &quot;unitPricingMeasure&quot;: { # The measure and dimension of an item.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of the measure.
+    &quot;value&quot;: 3.14, # The measure of an item.
+  },
+}
+
+  updateMask: string, The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { #  Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
+  &quot;additionalImageLinks&quot;: [ # Additional URLs of images of the item.
+    &quot;A String&quot;,
+  ],
+  &quot;additionalSizeType&quot;: &quot;A String&quot;, # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
+  &quot;adsGrouping&quot;: &quot;A String&quot;, # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
+  &quot;adsLabels&quot;: [ # Similar to ads_grouping, but only works on CPC.
+    &quot;A String&quot;,
+  ],
+  &quot;adsRedirect&quot;: &quot;A String&quot;, # Allows advertisers to override the item URL when the product is shown within the context of Product Ads.
+  &quot;adult&quot;: True or False, # Should be set to true if the item is targeted towards adults.
+  &quot;ageGroup&quot;: &quot;A String&quot;, # Target age group of the item.
+  &quot;availability&quot;: &quot;A String&quot;, # Availability status of the item.
+  &quot;availabilityDate&quot;: &quot;A String&quot;, # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
+  &quot;brand&quot;: &quot;A String&quot;, # Brand of the item.
+  &quot;canonicalLink&quot;: &quot;A String&quot;, # URL for the canonical version of your item&#x27;s landing page.
+  &quot;channel&quot;: &quot;A String&quot;, # Required. The item&#x27;s channel (online or local). Acceptable values are: - &quot;`local`&quot; - &quot;`online`&quot;
+  &quot;color&quot;: &quot;A String&quot;, # Color of the item.
+  &quot;condition&quot;: &quot;A String&quot;, # Condition or state of the item.
+  &quot;contentLanguage&quot;: &quot;A String&quot;, # Required. The two-letter ISO 639-1 language code for the item.
+  &quot;costOfGoodsSold&quot;: { # Cost of goods sold. Used for gross profit reporting.
+    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+  },
+  &quot;customAttributes&quot;: [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., `{ &quot;name&quot;: &quot;size type&quot;, &quot;value&quot;: &quot;regular&quot; }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
+    {
+      &quot;groupValues&quot;: [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
+        # Object with schema name: CustomAttribute
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # The name of the attribute. Underscores will be replaced by spaces upon insertion.
+      &quot;value&quot;: &quot;A String&quot;, # The value of the attribute.
+    },
+  ],
+  &quot;customLabel0&quot;: &quot;A String&quot;, # Custom label 0 for custom grouping of items in a Shopping campaign.
+  &quot;customLabel1&quot;: &quot;A String&quot;, # Custom label 1 for custom grouping of items in a Shopping campaign.
+  &quot;customLabel2&quot;: &quot;A String&quot;, # Custom label 2 for custom grouping of items in a Shopping campaign.
+  &quot;customLabel3&quot;: &quot;A String&quot;, # Custom label 3 for custom grouping of items in a Shopping campaign.
+  &quot;customLabel4&quot;: &quot;A String&quot;, # Custom label 4 for custom grouping of items in a Shopping campaign.
+  &quot;description&quot;: &quot;A String&quot;, # Description of the item.
+  &quot;displayAdsId&quot;: &quot;A String&quot;, # An identifier for an item for dynamic remarketing campaigns.
+  &quot;displayAdsLink&quot;: &quot;A String&quot;, # URL directly to your item&#x27;s landing page for dynamic remarketing campaigns.
+  &quot;displayAdsSimilarIds&quot;: [ # Advertiser-specified recommendations.
+    &quot;A String&quot;,
+  ],
+  &quot;displayAdsTitle&quot;: &quot;A String&quot;, # Title of an item for dynamic remarketing campaigns.
+  &quot;displayAdsValue&quot;: 3.14, # Offer margin for dynamic remarketing campaigns.
+  &quot;energyEfficiencyClass&quot;: &quot;A String&quot;, # The energy efficiency class as defined in EU directive 2010/30/EU.
+  &quot;excludedDestinations&quot;: [ # The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).
+    &quot;A String&quot;,
+  ],
+  &quot;expirationDate&quot;: &quot;A String&quot;, # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` and might be earlier if `expirationDate` is too far in the future.
+  &quot;gender&quot;: &quot;A String&quot;, # Target gender of the item.
+  &quot;googleProductCategory&quot;: &quot;A String&quot;, # Google&#x27;s category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.
+  &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item.
+  &quot;id&quot;: &quot;A String&quot;, # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product is of the form channel:contentLanguage: targetCountry: offerId.
+  &quot;identifierExists&quot;: True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
+  &quot;imageLink&quot;: &quot;A String&quot;, # URL of an image of the item.
+  &quot;includedDestinations&quot;: [ # The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
+    &quot;A String&quot;,
+  ],
+  &quot;installment&quot;: { # Number and amount of installments to pay for an item.
+    &quot;amount&quot;: { # The amount the buyer has to pay per month.
+      &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+    },
+    &quot;months&quot;: &quot;A String&quot;, # The number of installments the buyer has to pay.
+  },
+  &quot;isBundle&quot;: True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
+  &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product.
+  &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#product`&quot;
+  &quot;link&quot;: &quot;A String&quot;, # URL directly linking to your item&#x27;s page on your website.
+  &quot;loyaltyPoints&quot;: { # Loyalty points that users receive after purchasing the item. Japan only.
+    &quot;name&quot;: &quot;A String&quot;, # Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.
+    &quot;pointsValue&quot;: &quot;A String&quot;, # The retailer&#x27;s loyalty points in absolute value.
+    &quot;ratio&quot;: 3.14, # The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.
+  },
+  &quot;material&quot;: &quot;A String&quot;, # The material of which the item is made.
+  &quot;maxEnergyEfficiencyClass&quot;: &quot;A String&quot;, # The energy efficiency class as defined in EU directive 2010/30/EU.
+  &quot;maxHandlingTime&quot;: &quot;A String&quot;, # Maximal product handling time (in business days).
+  &quot;minEnergyEfficiencyClass&quot;: &quot;A String&quot;, # The energy efficiency class as defined in EU directive 2010/30/EU.
+  &quot;minHandlingTime&quot;: &quot;A String&quot;, # Minimal product handling time (in business days).
+  &quot;mobileLink&quot;: &quot;A String&quot;, # URL for the mobile-optimized version of your item&#x27;s landing page.
+  &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item.
+  &quot;multipack&quot;: &quot;A String&quot;, # The number of identical products in a merchant-defined multipack.
+  &quot;offerId&quot;: &quot;A String&quot;, # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
+  &quot;pattern&quot;: &quot;A String&quot;, # The item&#x27;s pattern (e.g. polka dots).
+  &quot;price&quot;: { # Price of the item.
+    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+  },
+  &quot;productDetails&quot;: [ # Technical specification or additional product details.
+    {
+      &quot;attributeName&quot;: &quot;A String&quot;, # The name of the product detail.
+      &quot;attributeValue&quot;: &quot;A String&quot;, # The value of the product detail.
+      &quot;sectionName&quot;: &quot;A String&quot;, # The section header used to group a set of product details.
+    },
+  ],
+  &quot;productHighlights&quot;: [ # Bullet points describing the most relevant highlights of a product.
+    &quot;A String&quot;,
+  ],
+  &quot;productTypes&quot;: [ # Categories of the item (formatted as in products data specification).
+    &quot;A String&quot;,
+  ],
+  &quot;promotionIds&quot;: [ # The unique ID of a promotion.
+    &quot;A String&quot;,
+  ],
+  &quot;salePrice&quot;: { # Advertised sale price of the item.
+    &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+  },
+  &quot;salePriceEffectiveDate&quot;: &quot;A String&quot;, # Date range during which the item is on sale (see products data specification ).
+  &quot;sellOnGoogleQuantity&quot;: &quot;A String&quot;, # The quantity of the product that is available for selling on Google. Supported only for online products.
+  &quot;shipping&quot;: [ # Shipping rules.
+    {
+      &quot;country&quot;: &quot;A String&quot;, # The CLDR territory code of the country to which an item will ship.
+      &quot;locationGroupName&quot;: &quot;A String&quot;, # The location where the shipping is applicable, represented by a location group name.
+      &quot;locationId&quot;: &quot;A String&quot;, # The numeric ID of a location that the shipping rate applies to as defined in the AdWords API.
+      &quot;maxHandlingTime&quot;: &quot;A String&quot;, # Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
+      &quot;maxTransitTime&quot;: &quot;A String&quot;, # Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
+      &quot;minHandlingTime&quot;: &quot;A String&quot;, # Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it is not required if maxHandlingTime is present.
+      &quot;minTransitTime&quot;: &quot;A String&quot;, # Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. minTransitTime can only be present together with maxTransitTime; but it is not required if maxTransitTime is present.
+      &quot;postalCode&quot;: &quot;A String&quot;, # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
+      &quot;price&quot;: { # Fixed shipping price, represented as a number.
+        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+      },
+      &quot;region&quot;: &quot;A String&quot;, # The geographic region to which a shipping rate applies.
+      &quot;service&quot;: &quot;A String&quot;, # A free-form description of the service class or delivery speed.
+    },
+  ],
+  &quot;shippingHeight&quot;: { # Height of the item for shipping.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of value.
+    &quot;value&quot;: 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+  },
+  &quot;shippingLabel&quot;: &quot;A String&quot;, # The shipping label of the product, used to group product in account-level shipping rules.
+  &quot;shippingLength&quot;: { # Length of the item for shipping.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of value.
+    &quot;value&quot;: 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+  },
+  &quot;shippingWeight&quot;: { # Weight of the item for shipping.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of value.
+    &quot;value&quot;: 3.14, # The weight of the product used to calculate the shipping cost of the item.
+  },
+  &quot;shippingWidth&quot;: { # Width of the item for shipping.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of value.
+    &quot;value&quot;: 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+  },
+  &quot;shoppingAdsExcludedCountries&quot;: [ # List of country codes (ISO 3166-1 alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
+    &quot;A String&quot;,
+  ],
+  &quot;sizeSystem&quot;: &quot;A String&quot;, # System in which the size is specified. Recommended for apparel items.
+  &quot;sizeType&quot;: &quot;A String&quot;, # The cut of the item. Recommended for apparel items.
+  &quot;sizes&quot;: [ # Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value (see size definition).
+    &quot;A String&quot;,
+  ],
+  &quot;source&quot;: &quot;A String&quot;, # The source of the offer, i.e., how the offer was created. Acceptable values are: - &quot;`api`&quot; - &quot;`crawl`&quot; - &quot;`feed`&quot;
+  &quot;subscriptionCost&quot;: { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
+    &quot;amount&quot;: { # The amount the buyer has to pay per subscription period.
+      &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+    },
+    &quot;period&quot;: &quot;A String&quot;, # The type of subscription period.
+    &quot;periodLength&quot;: &quot;A String&quot;, # The number of subscription periods the buyer has to pay.
+  },
+  &quot;targetCountry&quot;: &quot;A String&quot;, # Required. The CLDR territory code for the item.
+  &quot;taxCategory&quot;: &quot;A String&quot;, # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
+  &quot;taxes&quot;: [ # Tax information.
+    {
+      &quot;country&quot;: &quot;A String&quot;, # The country within which the item is taxed, specified as a CLDR territory code.
+      &quot;locationId&quot;: &quot;A String&quot;, # The numeric ID of a location that the tax rate applies to as defined in the AdWords API.
+      &quot;postalCode&quot;: &quot;A String&quot;, # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
+      &quot;rate&quot;: 3.14, # The percentage of tax rate that applies to the item price.
+      &quot;region&quot;: &quot;A String&quot;, # The geographic region to which the tax rate applies.
+      &quot;taxShip&quot;: True or False, # Should be set to true if tax is charged on shipping.
+    },
+  ],
+  &quot;title&quot;: &quot;A String&quot;, # Title of the item.
+  &quot;transitTimeLabel&quot;: &quot;A String&quot;, # The transit time label of the product, used to group product in account-level transit time tables.
+  &quot;unitPricingBaseMeasure&quot;: { # The preference of the denominator of the unit price.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of the denominator.
+    &quot;value&quot;: &quot;A String&quot;, # The denominator of the unit price.
+  },
+  &quot;unitPricingMeasure&quot;: { # The measure and dimension of an item.
+    &quot;unit&quot;: &quot;A String&quot;, # The unit of the measure.
+    &quot;value&quot;: 3.14, # The measure of an item.
+  },
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/content_v2_1.productstatuses.repricingreports.html b/docs/dyn/content_v2_1.productstatuses.repricingreports.html
index 56194df..eda31c0 100644
--- a/docs/dyn/content_v2_1.productstatuses.repricingreports.html
+++ b/docs/dyn/content_v2_1.productstatuses.repricingreports.html
@@ -114,7 +114,7 @@
   &quot;repricingProductReports&quot;: [ # Periodic reports for the given Repricing product.
     { # Resource that represents a daily Repricing product report. Each report contains stats for a single type of Repricing rule for a single product on a given day. If there are multiple rules of the same type for the product on that day, the report lists all the rules by rule ids, combines the stats, and paginates the results by date. To retrieve the stats of a particular rule, provide the rule_id in the request.
       &quot;applicationCount&quot;: &quot;A String&quot;, # Total count of Repricer applications. This value captures how many times the rule of this type was applied to this product during this reporting period.
-      &quot;buyboxWinningProductStats&quot;: { # Stats specific to buybox winning rules for product report. # Stats specific to buybox winning rules for product report.
+      &quot;buyboxWinningProductStats&quot;: { # Stats specific to buybox winning rules for product report. # Stats specific to buybox winning rules for product report (deprecated).
         &quot;buyboxWinsCount&quot;: 42, # Number of times this product won the buybox with these rules during this time period.
       },
       &quot;date&quot;: { # 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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Date of the stats in this report. The report starts and ends according to the merchant&#x27;s timezone.
diff --git a/docs/dyn/content_v2_1.repricingrules.repricingreports.html b/docs/dyn/content_v2_1.repricingrules.repricingreports.html
index a71f312..659c82f 100644
--- a/docs/dyn/content_v2_1.repricingrules.repricingreports.html
+++ b/docs/dyn/content_v2_1.repricingrules.repricingreports.html
@@ -112,7 +112,7 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token for retrieving the next page. Its absence means there is no subsequent page.
   &quot;repricingRuleReports&quot;: [ # Daily reports for the given Repricing rule.
     { # Resource that represents a daily Repricing rule report. Next ID: 11
-      &quot;buyboxWinningRuleStats&quot;: { # Stats specific to buybox winning rules for rule report. # Stats specific to buybox winning rules for rule report.
+      &quot;buyboxWinningRuleStats&quot;: { # Stats specific to buybox winning rules for rule report. # Stats specific to buybox winning rules for rule report (deprecated).
         &quot;buyboxWonProductCount&quot;: 42, # Number of unique products that won the buybox with this rule during this period of time.
       },
       &quot;date&quot;: { # 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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Date of the stats in this report. The report starts and ends according to the merchant&#x27;s timezone.
diff --git a/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html b/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html
index 52897b6..94ca941 100644
--- a/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html
+++ b/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html
@@ -371,7 +371,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -823,7 +823,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -1302,7 +1302,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -1845,7 +1845,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -2338,7 +2338,7 @@
               },
             },
             &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-              &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+              &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
                 &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
               },
               &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -2896,7 +2896,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -3348,7 +3348,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
diff --git a/docs/dyn/dataproc_v1.projects.regions.clusters.html b/docs/dyn/dataproc_v1.projects.regions.clusters.html
index c7f7828..55ea4dc 100644
--- a/docs/dyn/dataproc_v1.projects.regions.clusters.html
+++ b/docs/dyn/dataproc_v1.projects.regions.clusters.html
@@ -150,7 +150,7 @@
       },
     },
     &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-      &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+      &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
         &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
       },
       &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -513,7 +513,7 @@
       },
     },
     &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-      &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+      &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
         &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
       },
       &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -857,7 +857,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -1121,7 +1121,7 @@
       },
     },
     &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-      &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+      &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
         &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
       },
       &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
diff --git a/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html b/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html
index f816041..6f09b4b 100644
--- a/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html
+++ b/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html
@@ -371,7 +371,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -823,7 +823,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -1302,7 +1302,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -1845,7 +1845,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -2338,7 +2338,7 @@
               },
             },
             &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-              &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+              &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
                 &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
               },
               &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -2896,7 +2896,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
@@ -3348,7 +3348,7 @@
           },
         },
         &quot;gceClusterConfig&quot;: { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster.
-          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2 # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)
+          &quot;confidentialInstanceConfig&quot;: { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs).
             &quot;enableConfidentialCompute&quot;: True or False, # Optional. Defines whether the instance should have confidential compute enabled.
           },
           &quot;internalIpOnly&quot;: True or False, # Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
diff --git a/docs/dyn/datastore_v1.projects.html b/docs/dyn/datastore_v1.projects.html
index 4f71a3f..96acf9c 100644
--- a/docs/dyn/datastore_v1.projects.html
+++ b/docs/dyn/datastore_v1.projects.html
@@ -248,7 +248,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # 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.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;update&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to update. The entity must already exist. Must have a complete key path.
@@ -266,7 +299,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # 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.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;upsert&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to upsert. The entity may or may not already exist. The entity key&#x27;s final path element may be incomplete.
@@ -284,7 +350,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # 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.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
     },
@@ -503,7 +602,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # 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.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -527,7 +659,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # 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.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -625,24 +790,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # 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.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -681,24 +829,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # 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.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -759,24 +890,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # 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.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -863,7 +977,40 @@
             ],
           },
           &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-            &quot;a_key&quot;: # Object with schema name: Value
+            &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+                &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+              &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+              &quot;geoPointValue&quot;: { # 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.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+                &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                  &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+                },
+                &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                  { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                    &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                    &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                    &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  },
+                ],
+              },
+              &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+            },
           },
         },
         &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -902,24 +1049,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # 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.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
diff --git a/docs/dyn/datastore_v1beta3.projects.html b/docs/dyn/datastore_v1beta3.projects.html
index 6813001..5bd9b36 100644
--- a/docs/dyn/datastore_v1beta3.projects.html
+++ b/docs/dyn/datastore_v1beta3.projects.html
@@ -232,40 +232,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # 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.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;update&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to update. The entity must already exist. Must have a complete key path.
@@ -283,40 +250,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # 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.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;upsert&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to upsert. The entity may or may not already exist. The entity key&#x27;s final path element may be incomplete.
@@ -334,40 +268,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # 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.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
     },
@@ -480,40 +381,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # 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.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -537,40 +405,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # 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.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -668,7 +503,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # 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.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -707,7 +559,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # 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.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -768,7 +637,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # 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.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -855,40 +741,7 @@
             ],
           },
           &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-            &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-                &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                  # Object with schema name: Value
-                ],
-              },
-              &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-              &quot;booleanValue&quot;: True or False, # A boolean value.
-              &quot;doubleValue&quot;: 3.14, # A double value.
-              &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-              &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-              &quot;geoPointValue&quot;: { # 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.
-                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-              &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-                &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                  &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-                },
-                &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                  { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                    &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                    &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  },
-                ],
-              },
-              &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-              &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-            },
+            &quot;a_key&quot;: # Object with schema name: Value
           },
         },
         &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -927,7 +780,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # 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.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
diff --git a/docs/dyn/dialogflow_v2.projects.agent.environments.intents.html b/docs/dyn/dialogflow_v2.projects.agent.environments.intents.html
index fbddcbd..4199c08 100644
--- a/docs/dyn/dialogflow_v2.projects.agent.environments.intents.html
+++ b/docs/dyn/dialogflow_v2.projects.agent.environments.intents.html
@@ -94,7 +94,7 @@
   <pre>Returns the list of all intents in the specified agent.
 
 Args:
-  parent: string, Required. The agent to list all intents from. Format: `projects//agent`. (required)
+  parent: string, Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment. (required)
   intentView: string, Optional. The resource view to apply to the returned intent.
     Allowed values
       INTENT_VIEW_UNSPECIFIED - Training phrases field is not populated in the response.
diff --git a/docs/dyn/dialogflow_v2.projects.agent.intents.html b/docs/dyn/dialogflow_v2.projects.agent.intents.html
index 9d199d4..bb52f20 100644
--- a/docs/dyn/dialogflow_v2.projects.agent.intents.html
+++ b/docs/dyn/dialogflow_v2.projects.agent.intents.html
@@ -1488,7 +1488,7 @@
   <pre>Returns the list of all intents in the specified agent.
 
 Args:
-  parent: string, Required. The agent to list all intents from. Format: `projects//agent`. (required)
+  parent: string, Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment. (required)
   intentView: string, Optional. The resource view to apply to the returned intent.
     Allowed values
       INTENT_VIEW_UNSPECIFIED - Training phrases field is not populated in the response.
diff --git a/docs/dyn/dialogflow_v2.projects.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.conversations.participants.html
index c6f578a..76ac90f 100644
--- a/docs/dyn/dialogflow_v2.projects.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2.projects.conversations.participants.html
@@ -191,7 +191,7 @@
 
     { # The response message for Participants.AnalyzeContent.
   &quot;automatedAgentReply&quot;: { # Represents a response from an automated agent. # Only set if a Dialogflow automated agent has responded. Note that: AutomatedAgentReply.detect_intent_response.output_audio and AutomatedAgentReply.detect_intent_response.output_audio_config are always empty, use reply_audio instead.
-    &quot;detectIntentResponse&quot;: { # The message returned from the DetectIntent method. # Response of the Dialogflow Sessions.DetectIntent call.
+    &quot;detectIntentResponse&quot;: { # The message returned from the DetectIntent method. # Required. Response of the Dialogflow Sessions.DetectIntent call.
       &quot;outputAudio&quot;: &quot;A String&quot;, # The audio data bytes encoded as specified in the request. Note: The output audio is generated based on the values of default platform text responses found in the `query_result.fulfillment_messages` field. If multiple default text responses exist, they will be concatenated when generating audio. If no default platform text responses exist, the generated audio content will be empty. In some scenarios, multiple output audio fields may be present in the response structure. In these cases, only the top-most-level audio output has content.
       &quot;outputAudioConfig&quot;: { # Instructs the speech synthesizer on how to generate the output audio content. If this audio config is supplied in a request, it overrides all existing text-to-speech settings applied to the agent. # The config used by the speech synthesizer to generate the output audio.
         &quot;audioEncoding&quot;: &quot;A String&quot;, # Required. Audio encoding of the synthesized audio content.
diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.environments.html b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.html
index fb398a9..453186b 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.agent.environments.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.html
@@ -75,6 +75,11 @@
 <h1><a href="dialogflow_v2.html">Dialogflow API</a> . <a href="dialogflow_v2.projects.html">projects</a> . <a href="dialogflow_v2.projects.locations.html">locations</a> . <a href="dialogflow_v2.projects.locations.agent.html">agent</a> . <a href="dialogflow_v2.projects.locations.agent.environments.html">environments</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="dialogflow_v2.projects.locations.agent.environments.intents.html">intents()</a></code>
+</p>
+<p class="firstline">Returns the intents Resource.</p>
+
+<p class="toc_element">
   <code><a href="dialogflow_v2.projects.locations.agent.environments.users.html">users()</a></code>
 </p>
 <p class="firstline">Returns the users Resource.</p>
diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.environments.intents.html b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.intents.html
new file mode 100644
index 0000000..9a6c943
--- /dev/null
+++ b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.intents.html
@@ -0,0 +1,378 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="dialogflow_v2.html">Dialogflow API</a> . <a href="dialogflow_v2.projects.html">projects</a> . <a href="dialogflow_v2.projects.locations.html">locations</a> . <a href="dialogflow_v2.projects.locations.agent.html">agent</a> . <a href="dialogflow_v2.projects.locations.agent.environments.html">environments</a> . <a href="dialogflow_v2.projects.locations.agent.environments.intents.html">intents</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, intentView=None, languageCode=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the list of all intents in the specified agent.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, intentView=None, languageCode=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns the list of all intents in the specified agent.
+
+Args:
+  parent: string, Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment. (required)
+  intentView: string, Optional. The resource view to apply to the returned intent.
+    Allowed values
+      INTENT_VIEW_UNSPECIFIED - Training phrases field is not populated in the response.
+      INTENT_VIEW_FULL - All fields are populated.
+  languageCode: string, Optional. The language used to access language-specific data. If not specified, the agent&#x27;s default language is used. For more information, see [Multilingual intent and entity data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
+  pageSize: integer, Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.
+  pageToken: string, Optional. The next_page_token value returned from a previous list request.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Intents.ListIntents.
+  &quot;intents&quot;: [ # The list of agent intents. There will be a maximum number of items returned based on the page_size field in the request.
+    { # An intent categorizes an end-user&#x27;s intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview).
+      &quot;action&quot;: &quot;A String&quot;, # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
+      &quot;defaultResponsePlatforms&quot;: [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
+        &quot;A String&quot;,
+      ],
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. The name of this intent.
+      &quot;endInteraction&quot;: True or False, # Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.
+      &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
+        &quot;A String&quot;,
+      ],
+      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+        { # Represents a single followup intent in the chain.
+          &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
+          &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
+        },
+      ],
+      &quot;inputContextNames&quot;: [ # Optional. The list of context names required for this intent to be triggered. Format: `projects//agent/sessions/-/contexts/`.
+        &quot;A String&quot;,
+      ],
+      &quot;isFallback&quot;: True or False, # Optional. Indicates whether this is a fallback intent.
+      &quot;liveAgentHandoff&quot;: True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
+      &quot;messages&quot;: [ # Optional. The collection of rich messages corresponding to the `Response` field in the Dialogflow console.
+        { # A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).
+          &quot;basicCard&quot;: { # The basic card message. Useful for displaying information. # The basic card response for Actions on Google.
+            &quot;buttons&quot;: [ # Optional. The collection of card buttons.
+              { # The button object that appears at the bottom of a card.
+                &quot;openUriAction&quot;: { # Opens the given URI. # Required. Action to take when a user taps on the button.
+                  &quot;uri&quot;: &quot;A String&quot;, # Required. The HTTP or HTTPS scheme URI.
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. The title of the button.
+              },
+            ],
+            &quot;formattedText&quot;: &quot;A String&quot;, # Required, unless image is present. The body text of the card.
+            &quot;image&quot;: { # The image response message. # Optional. The image for the card.
+              &quot;accessibilityText&quot;: &quot;A String&quot;, # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
+              &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+            },
+            &quot;subtitle&quot;: &quot;A String&quot;, # Optional. The subtitle of the card.
+            &quot;title&quot;: &quot;A String&quot;, # Optional. The title of the card.
+          },
+          &quot;browseCarouselCard&quot;: { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
+            &quot;imageDisplayOptions&quot;: &quot;A String&quot;, # Optional. Settings for displaying the image. Applies to every image in items.
+            &quot;items&quot;: [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
+              { # Browsing carousel tile
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the carousel item. Maximum of four lines of text.
+                &quot;footer&quot;: &quot;A String&quot;, # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
+                &quot;image&quot;: { # The image response message. # Optional. Hero image for the carousel item.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;openUriAction&quot;: { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                  &quot;url&quot;: &quot;A String&quot;, # Required. URL
+                  &quot;urlTypeHint&quot;: &quot;A String&quot;, # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. Title of the carousel item. Maximum of two lines of text.
+              },
+            ],
+          },
+          &quot;card&quot;: { # The card response message. # The card response.
+            &quot;buttons&quot;: [ # Optional. The collection of card buttons.
+              { # Contains information about a button.
+                &quot;postback&quot;: &quot;A String&quot;, # Optional. The text to send back to the Dialogflow API or a URI to open.
+                &quot;text&quot;: &quot;A String&quot;, # Optional. The text to show on the button.
+              },
+            ],
+            &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file for the card.
+            &quot;subtitle&quot;: &quot;A String&quot;, # Optional. The subtitle of the card.
+            &quot;title&quot;: &quot;A String&quot;, # Optional. The title of the card.
+          },
+          &quot;carouselSelect&quot;: { # The card for presenting a carousel of options to select from. # The carousel card response for Actions on Google.
+            &quot;items&quot;: [ # Required. Carousel items.
+              { # An item in the carousel.
+                &quot;description&quot;: &quot;A String&quot;, # Optional. The body text of the card.
+                &quot;image&quot;: { # The image response message. # Optional. The image to display.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;info&quot;: { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
+                  &quot;key&quot;: &quot;A String&quot;, # Required. A unique key that will be sent back to the agent if this response is given.
+                  &quot;synonyms&quot;: [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. Title of the carousel item.
+              },
+            ],
+          },
+          &quot;image&quot;: { # The image response message. # The image response.
+            &quot;accessibilityText&quot;: &quot;A String&quot;, # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
+            &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+          },
+          &quot;linkOutSuggestion&quot;: { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # The link out suggestion chip for Actions on Google.
+            &quot;destinationName&quot;: &quot;A String&quot;, # Required. The name of the app or site this chip is linking to.
+            &quot;uri&quot;: &quot;A String&quot;, # Required. The URI of the app or site to open when the user taps the suggestion chip.
+          },
+          &quot;listSelect&quot;: { # The card for presenting a list of options to select from. # The list card response for Actions on Google.
+            &quot;items&quot;: [ # Required. List items.
+              { # An item in the list.
+                &quot;description&quot;: &quot;A String&quot;, # Optional. The main text describing the item.
+                &quot;image&quot;: { # The image response message. # Optional. The image to display.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;info&quot;: { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
+                  &quot;key&quot;: &quot;A String&quot;, # Required. A unique key that will be sent back to the agent if this response is given.
+                  &quot;synonyms&quot;: [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. The title of the list item.
+              },
+            ],
+            &quot;subtitle&quot;: &quot;A String&quot;, # Optional. Subtitle of the list.
+            &quot;title&quot;: &quot;A String&quot;, # Optional. The overall title of the list.
+          },
+          &quot;mediaContent&quot;: { # The media content card for Actions on Google. # The media content card for Actions on Google.
+            &quot;mediaObjects&quot;: [ # Required. List of media objects.
+              { # Response media object for media content card.
+                &quot;contentUrl&quot;: &quot;A String&quot;, # Required. Url where the media is stored.
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Description of media card.
+                &quot;icon&quot;: { # The image response message. # Optional. Icon to display above media content.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;largeImage&quot;: { # The image response message. # Optional. Image to display above media content.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;name&quot;: &quot;A String&quot;, # Required. Name of media card.
+              },
+            ],
+            &quot;mediaType&quot;: &quot;A String&quot;, # Optional. What type of media is the content (ie &quot;audio&quot;).
+          },
+          &quot;payload&quot;: { # A custom platform-specific response.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+          &quot;platform&quot;: &quot;A String&quot;, # Optional. The platform that this message is intended for.
+          &quot;quickReplies&quot;: { # The quick replies response message. # The quick replies response.
+            &quot;quickReplies&quot;: [ # Optional. The collection of quick replies.
+              &quot;A String&quot;,
+            ],
+            &quot;title&quot;: &quot;A String&quot;, # Optional. The title of the collection of quick replies.
+          },
+          &quot;simpleResponses&quot;: { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # The voice and text-only responses for Actions on Google.
+            &quot;simpleResponses&quot;: [ # Required. The list of simple responses.
+              { # The simple response message containing speech or text.
+                &quot;displayText&quot;: &quot;A String&quot;, # Optional. The text to display.
+                &quot;ssml&quot;: &quot;A String&quot;, # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
+                &quot;textToSpeech&quot;: &quot;A String&quot;, # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
+              },
+            ],
+          },
+          &quot;suggestions&quot;: { # The collection of suggestions. # The suggestion chips for Actions on Google.
+            &quot;suggestions&quot;: [ # Required. The list of suggested replies.
+              { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
+                &quot;title&quot;: &quot;A String&quot;, # Required. The text shown the in the suggestion chip.
+              },
+            ],
+          },
+          &quot;tableCard&quot;: { # Table card for Actions on Google. # Table card for Actions on Google.
+            &quot;buttons&quot;: [ # Optional. List of buttons for the card.
+              { # The button object that appears at the bottom of a card.
+                &quot;openUriAction&quot;: { # Opens the given URI. # Required. Action to take when a user taps on the button.
+                  &quot;uri&quot;: &quot;A String&quot;, # Required. The HTTP or HTTPS scheme URI.
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. The title of the button.
+              },
+            ],
+            &quot;columnProperties&quot;: [ # Optional. Display properties for the columns in this table.
+              { # Column properties for TableCard.
+                &quot;header&quot;: &quot;A String&quot;, # Required. Column heading.
+                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Optional. Defines text alignment for all cells in this column.
+              },
+            ],
+            &quot;image&quot;: { # The image response message. # Optional. Image which should be displayed on the card.
+              &quot;accessibilityText&quot;: &quot;A String&quot;, # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
+              &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+            },
+            &quot;rows&quot;: [ # Optional. Rows in this table of data.
+              { # Row of TableCard.
+                &quot;cells&quot;: [ # Optional. List of cells that make up this row.
+                  { # Cell of TableCardRow.
+                    &quot;text&quot;: &quot;A String&quot;, # Required. Text in this cell.
+                  },
+                ],
+                &quot;dividerAfter&quot;: True or False, # Optional. Whether to add a visual divider after this row.
+              },
+            ],
+            &quot;subtitle&quot;: &quot;A String&quot;, # Optional. Subtitle to the title.
+            &quot;title&quot;: &quot;A String&quot;, # Required. Title of the card.
+          },
+          &quot;text&quot;: { # The text response message. # The text response.
+            &quot;text&quot;: [ # Optional. The collection of the agent&#x27;s responses.
+              &quot;A String&quot;,
+            ],
+          },
+        },
+      ],
+      &quot;mlDisabled&quot;: True or False, # Optional. Indicates whether Machine Learning is disabled for the intent. Note: If `ml_disabled` setting is set to true, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off.
+      &quot;name&quot;: &quot;A String&quot;, # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format: `projects//agent/intents/`.
+      &quot;outputContexts&quot;: [ # Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the `lifespan_count` to 0 will reset the context when the intent is matched. Format: `projects//agent/sessions/-/contexts/`.
+        { # Dialogflow contexts are similar to natural language context. If a person says to you &quot;they are orange&quot;, you need context in order to understand what &quot;they&quot; is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
+          &quot;lifespanCount&quot;: 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
+          &quot;name&quot;: &quot;A String&quot;, # Required. The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in a-zA-Z0-9_-% and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default &#x27;draft&#x27; environment. If `User ID` is not specified, we assume default &#x27;-&#x27; user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
+          &quot;parameters&quot;: { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
+      ],
+      &quot;parameters&quot;: [ # Optional. The collection of parameters associated with the intent.
+        { # Represents intent parameters.
+          &quot;defaultValue&quot;: &quot;A String&quot;, # Optional. The default value to use when the `value` yields an empty result. Default values can be extracted from contexts by using the following syntax: `#context_name.parameter_name`.
+          &quot;displayName&quot;: &quot;A String&quot;, # Required. The name of the parameter.
+          &quot;entityTypeDisplayName&quot;: &quot;A String&quot;, # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
+          &quot;isList&quot;: True or False, # Optional. Indicates whether the parameter represents a list of values.
+          &quot;mandatory&quot;: True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
+          &quot;name&quot;: &quot;A String&quot;, # The unique identifier of this parameter.
+          &quot;prompts&quot;: [ # Optional. The collection of prompts that the agent can present to the user in order to collect a value for the parameter.
+            &quot;A String&quot;,
+          ],
+          &quot;value&quot;: &quot;A String&quot;, # Optional. The definition of the parameter value. It can be: - a constant string, - a parameter value defined as `$parameter_name`, - an original parameter value defined as `$parameter_name.original`, - a parameter value from some context defined as `#context_name.parameter_name`.
+        },
+      ],
+      &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
+      &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
+      &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
+        { # Represents an example that the agent is trained on.
+          &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
+          &quot;parts&quot;: [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
+            { # Represents a part of a training phrase.
+              &quot;alias&quot;: &quot;A String&quot;, # Optional. The parameter name for the value extracted from the annotated part of the example. This field is required for annotated parts of the training phrase.
+              &quot;entityType&quot;: &quot;A String&quot;, # Optional. The entity type name prefixed with `@`. This field is required for annotated parts of the training phrase.
+              &quot;text&quot;: &quot;A String&quot;, # Required. The text for this part.
+              &quot;userDefined&quot;: True or False, # Optional. Indicates whether the text was manually annotated. This field is set to true when the Dialogflow Console is used to manually annotate the part. When creating an annotated part with the API, you must set this to true.
+            },
+          ],
+          &quot;timesAddedCount&quot;: 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
+          &quot;type&quot;: &quot;A String&quot;, # Required. The type of the training phrase.
+        },
+      ],
+      &quot;webhookState&quot;: &quot;A String&quot;, # Optional. Indicates whether webhooks are enabled for the intent.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results in the list.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>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 &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.intents.html b/docs/dyn/dialogflow_v2.projects.locations.agent.intents.html
index 1347b45..1467cc0 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.agent.intents.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.agent.intents.html
@@ -1488,7 +1488,7 @@
   <pre>Returns the list of all intents in the specified agent.
 
 Args:
-  parent: string, Required. The agent to list all intents from. Format: `projects//agent`. (required)
+  parent: string, Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment. (required)
   intentView: string, Optional. The resource view to apply to the returned intent.
     Allowed values
       INTENT_VIEW_UNSPECIFIED - Training phrases field is not populated in the response.
diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html
index 30f135f..91cc7eb 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html
@@ -191,7 +191,7 @@
 
     { # The response message for Participants.AnalyzeContent.
   &quot;automatedAgentReply&quot;: { # Represents a response from an automated agent. # Only set if a Dialogflow automated agent has responded. Note that: AutomatedAgentReply.detect_intent_response.output_audio and AutomatedAgentReply.detect_intent_response.output_audio_config are always empty, use reply_audio instead.
-    &quot;detectIntentResponse&quot;: { # The message returned from the DetectIntent method. # Response of the Dialogflow Sessions.DetectIntent call.
+    &quot;detectIntentResponse&quot;: { # The message returned from the DetectIntent method. # Required. Response of the Dialogflow Sessions.DetectIntent call.
       &quot;outputAudio&quot;: &quot;A String&quot;, # The audio data bytes encoded as specified in the request. Note: The output audio is generated based on the values of default platform text responses found in the `query_result.fulfillment_messages` field. If multiple default text responses exist, they will be concatenated when generating audio. If no default platform text responses exist, the generated audio content will be empty. In some scenarios, multiple output audio fields may be present in the response structure. In these cases, only the top-most-level audio output has content.
       &quot;outputAudioConfig&quot;: { # Instructs the speech synthesizer on how to generate the output audio content. If this audio config is supplied in a request, it overrides all existing text-to-speech settings applied to the agent. # The config used by the speech synthesizer to generate the output audio.
         &quot;audioEncoding&quot;: &quot;A String&quot;, # Required. Audio encoding of the synthesized audio content.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.agent.environments.intents.html b/docs/dyn/dialogflow_v2beta1.projects.agent.environments.intents.html
index 37d26fa..793808c 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.agent.environments.intents.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.agent.environments.intents.html
@@ -94,7 +94,7 @@
   <pre>Returns the list of all intents in the specified agent.
 
 Args:
-  parent: string, Required. The agent to list all intents from. Format: `projects//agent`. (required)
+  parent: string, Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment. (required)
   intentView: string, Optional. The resource view to apply to the returned intent.
     Allowed values
       INTENT_VIEW_UNSPECIFIED - Training phrases field is not populated in the response.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.agent.intents.html b/docs/dyn/dialogflow_v2beta1.projects.agent.intents.html
index d4e42ff..c7b3214 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.agent.intents.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.agent.intents.html
@@ -1993,7 +1993,7 @@
   <pre>Returns the list of all intents in the specified agent.
 
 Args:
-  parent: string, Required. The agent to list all intents from. Format: `projects//agent`. (required)
+  parent: string, Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment. (required)
   intentView: string, Optional. The resource view to apply to the returned intent.
     Allowed values
       INTENT_VIEW_UNSPECIFIED - Training phrases field is not populated in the response.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html
index cbc9648..f909287 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html
@@ -201,7 +201,7 @@
 
     { # The response message for Participants.AnalyzeContent.
   &quot;automatedAgentReply&quot;: { # Represents a response from an automated agent. # Optional. Only set if a Dialogflow automated agent has responded. Note that: AutomatedAgentReply.detect_intent_response.output_audio and AutomatedAgentReply.detect_intent_response.output_audio_config are always empty, use reply_audio instead.
-    &quot;cxSessionParameters&quot;: { # The collection of current Dialogflow CX agent session parameters at the time of this response.
+    &quot;cxSessionParameters&quot;: { # The collection of current Dialogflow CX agent session parameters at the time of this response. Deprecated: Use `parameters` instead.
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;detectIntentResponse&quot;: { # The message returned from the DetectIntent method. # Response of the Dialogflow Sessions.DetectIntent call.
@@ -1571,6 +1571,10 @@
     },
     &quot;event&quot;: &quot;A String&quot;, # Event name if an event is triggered for the query.
     &quot;intent&quot;: &quot;A String&quot;, # Name of the intent if an intent is matched for the query. For a V2 query, the value format is `projects//locations/ /agent/intents/`. For a V3 query, the value format is `projects//locations/ /agents//intents/`.
+    &quot;matchConfidence&quot;: 3.14, # The confidence of the match. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). This value is for informational purpose only and is only used to help match the best intent within the classification threshold. This value may change for the same end-user expression at any time due to a model retraining or change in implementation.
+    &quot;parameters&quot;: { # The collection of current parameters at the time of this response.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
     &quot;responseMessages&quot;: [ # Response messages from the automated agent.
       { # Response messages from an automated agent.
         &quot;endInteraction&quot;: { # Indicates that interaction with the Dialogflow agent has ended. # A signal that indicates the interaction with the Dialogflow agent has ended.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.html b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.html
index 5a229a3..f505c75 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.html
@@ -75,6 +75,11 @@
 <h1><a href="dialogflow_v2beta1.html">Dialogflow API</a> . <a href="dialogflow_v2beta1.projects.html">projects</a> . <a href="dialogflow_v2beta1.projects.locations.html">locations</a> . <a href="dialogflow_v2beta1.projects.locations.agent.html">agent</a> . <a href="dialogflow_v2beta1.projects.locations.agent.environments.html">environments</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="dialogflow_v2beta1.projects.locations.agent.environments.intents.html">intents()</a></code>
+</p>
+<p class="firstline">Returns the intents Resource.</p>
+
+<p class="toc_element">
   <code><a href="dialogflow_v2beta1.projects.locations.agent.environments.users.html">users()</a></code>
 </p>
 <p class="firstline">Returns the users Resource.</p>
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.intents.html b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.intents.html
new file mode 100644
index 0000000..5e5e67c
--- /dev/null
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.intents.html
@@ -0,0 +1,479 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="dialogflow_v2beta1.html">Dialogflow API</a> . <a href="dialogflow_v2beta1.projects.html">projects</a> . <a href="dialogflow_v2beta1.projects.locations.html">locations</a> . <a href="dialogflow_v2beta1.projects.locations.agent.html">agent</a> . <a href="dialogflow_v2beta1.projects.locations.agent.environments.html">environments</a> . <a href="dialogflow_v2beta1.projects.locations.agent.environments.intents.html">intents</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, intentView=None, languageCode=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the list of all intents in the specified agent.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, intentView=None, languageCode=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns the list of all intents in the specified agent.
+
+Args:
+  parent: string, Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment. (required)
+  intentView: string, Optional. The resource view to apply to the returned intent.
+    Allowed values
+      INTENT_VIEW_UNSPECIFIED - Training phrases field is not populated in the response.
+      INTENT_VIEW_FULL - All fields are populated.
+  languageCode: string, Optional. The language used to access language-specific data. If not specified, the agent&#x27;s default language is used. For more information, see [Multilingual intent and entity data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
+  pageSize: integer, Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.
+  pageToken: string, Optional. The next_page_token value returned from a previous list request.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Intents.ListIntents.
+  &quot;intents&quot;: [ # The list of agent intents. There will be a maximum number of items returned based on the page_size field in the request.
+    { # An intent categorizes an end-user&#x27;s intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview).
+      &quot;action&quot;: &quot;A String&quot;, # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
+      &quot;defaultResponsePlatforms&quot;: [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
+        &quot;A String&quot;,
+      ],
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. The name of this intent.
+      &quot;endInteraction&quot;: True or False, # Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.
+      &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
+        &quot;A String&quot;,
+      ],
+      &quot;followupIntentInfo&quot;: [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+        { # Represents a single followup intent in the chain.
+          &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
+          &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
+        },
+      ],
+      &quot;inputContextNames&quot;: [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
+        &quot;A String&quot;,
+      ],
+      &quot;isFallback&quot;: True or False, # Optional. Indicates whether this is a fallback intent.
+      &quot;liveAgentHandoff&quot;: True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
+      &quot;messages&quot;: [ # Optional. The collection of rich messages corresponding to the `Response` field in the Dialogflow console.
+        { # Corresponds to the `Response` field in the Dialogflow console.
+          &quot;basicCard&quot;: { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
+            &quot;buttons&quot;: [ # Optional. The collection of card buttons.
+              { # The button object that appears at the bottom of a card.
+                &quot;openUriAction&quot;: { # Opens the given URI. # Required. Action to take when a user taps on the button.
+                  &quot;uri&quot;: &quot;A String&quot;, # Required. The HTTP or HTTPS scheme URI.
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. The title of the button.
+              },
+            ],
+            &quot;formattedText&quot;: &quot;A String&quot;, # Required, unless image is present. The body text of the card.
+            &quot;image&quot;: { # The image response message. # Optional. The image for the card.
+              &quot;accessibilityText&quot;: &quot;A String&quot;, # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
+              &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+            },
+            &quot;subtitle&quot;: &quot;A String&quot;, # Optional. The subtitle of the card.
+            &quot;title&quot;: &quot;A String&quot;, # Optional. The title of the card.
+          },
+          &quot;browseCarouselCard&quot;: { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
+            &quot;imageDisplayOptions&quot;: &quot;A String&quot;, # Optional. Settings for displaying the image. Applies to every image in items.
+            &quot;items&quot;: [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
+              { # Browsing carousel tile
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the carousel item. Maximum of four lines of text.
+                &quot;footer&quot;: &quot;A String&quot;, # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
+                &quot;image&quot;: { # The image response message. # Optional. Hero image for the carousel item.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;openUriAction&quot;: { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                  &quot;url&quot;: &quot;A String&quot;, # Required. URL
+                  &quot;urlTypeHint&quot;: &quot;A String&quot;, # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. Title of the carousel item. Maximum of two lines of text.
+              },
+            ],
+          },
+          &quot;card&quot;: { # The card response message. # Displays a card.
+            &quot;buttons&quot;: [ # Optional. The collection of card buttons.
+              { # Optional. Contains information about a button.
+                &quot;postback&quot;: &quot;A String&quot;, # Optional. The text to send back to the Dialogflow API or a URI to open.
+                &quot;text&quot;: &quot;A String&quot;, # Optional. The text to show on the button.
+              },
+            ],
+            &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file for the card.
+            &quot;subtitle&quot;: &quot;A String&quot;, # Optional. The subtitle of the card.
+            &quot;title&quot;: &quot;A String&quot;, # Optional. The title of the card.
+          },
+          &quot;carouselSelect&quot;: { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
+            &quot;items&quot;: [ # Required. Carousel items.
+              { # An item in the carousel.
+                &quot;description&quot;: &quot;A String&quot;, # Optional. The body text of the card.
+                &quot;image&quot;: { # The image response message. # Optional. The image to display.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;info&quot;: { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
+                  &quot;key&quot;: &quot;A String&quot;, # Required. A unique key that will be sent back to the agent if this response is given.
+                  &quot;synonyms&quot;: [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. Title of the carousel item.
+              },
+            ],
+          },
+          &quot;image&quot;: { # The image response message. # Displays an image.
+            &quot;accessibilityText&quot;: &quot;A String&quot;, # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
+            &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+          },
+          &quot;linkOutSuggestion&quot;: { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
+            &quot;destinationName&quot;: &quot;A String&quot;, # Required. The name of the app or site this chip is linking to.
+            &quot;uri&quot;: &quot;A String&quot;, # Required. The URI of the app or site to open when the user taps the suggestion chip.
+          },
+          &quot;listSelect&quot;: { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
+            &quot;items&quot;: [ # Required. List items.
+              { # An item in the list.
+                &quot;description&quot;: &quot;A String&quot;, # Optional. The main text describing the item.
+                &quot;image&quot;: { # The image response message. # Optional. The image to display.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;info&quot;: { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
+                  &quot;key&quot;: &quot;A String&quot;, # Required. A unique key that will be sent back to the agent if this response is given.
+                  &quot;synonyms&quot;: [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. The title of the list item.
+              },
+            ],
+            &quot;subtitle&quot;: &quot;A String&quot;, # Optional. Subtitle of the list.
+            &quot;title&quot;: &quot;A String&quot;, # Optional. The overall title of the list.
+          },
+          &quot;mediaContent&quot;: { # The media content card for Actions on Google. # The media content card for Actions on Google.
+            &quot;mediaObjects&quot;: [ # Required. List of media objects.
+              { # Response media object for media content card.
+                &quot;contentUrl&quot;: &quot;A String&quot;, # Required. Url where the media is stored.
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Description of media card.
+                &quot;icon&quot;: { # The image response message. # Optional. Icon to display above media content.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;largeImage&quot;: { # The image response message. # Optional. Image to display above media content.
+                  &quot;accessibilityText&quot;: &quot;A String&quot;, # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+                },
+                &quot;name&quot;: &quot;A String&quot;, # Required. Name of media card.
+              },
+            ],
+            &quot;mediaType&quot;: &quot;A String&quot;, # Optional. What type of media is the content (ie &quot;audio&quot;).
+          },
+          &quot;payload&quot;: { # A custom platform-specific response.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+          &quot;platform&quot;: &quot;A String&quot;, # Optional. The platform that this message is intended for.
+          &quot;quickReplies&quot;: { # The quick replies response message. # Displays quick replies.
+            &quot;quickReplies&quot;: [ # Optional. The collection of quick replies.
+              &quot;A String&quot;,
+            ],
+            &quot;title&quot;: &quot;A String&quot;, # Optional. The title of the collection of quick replies.
+          },
+          &quot;rbmCarouselRichCard&quot;: { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
+            &quot;cardContents&quot;: [ # Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.
+              { # Rich Business Messaging (RBM) Card content
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
+                &quot;media&quot;: { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg&#x27; * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
+                  &quot;fileUri&quot;: &quot;A String&quot;, # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
+                  &quot;height&quot;: &quot;A String&quot;, # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
+                  &quot;thumbnailUri&quot;: &quot;A String&quot;, # Optional. Publicly reachable URI of the thumbnail.If you don&#x27;t provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user&#x27;s device downloads the file. Depending on the user&#x27;s setting, the file may not download automatically and may require the user to tap a download button.
+                },
+                &quot;suggestions&quot;: [ # Optional. List of suggestions to include in the card.
+                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
+                    &quot;action&quot;: { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
+                      &quot;dial&quot;: { # Opens the user&#x27;s default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
+                        &quot;phoneNumber&quot;: &quot;A String&quot;, # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
+                      },
+                      &quot;openUrl&quot;: { # Opens the user&#x27;s default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
+                        &quot;uri&quot;: &quot;A String&quot;, # Required. The uri to open on the user device
+                      },
+                      &quot;postbackData&quot;: &quot;A String&quot;, # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
+                      &quot;shareLocation&quot;: { # Opens the device&#x27;s location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
+                      },
+                      &quot;text&quot;: &quot;A String&quot;, # Text to display alongside the action.
+                    },
+                    &quot;reply&quot;: { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
+                      &quot;postbackData&quot;: &quot;A String&quot;, # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
+                      &quot;text&quot;: &quot;A String&quot;, # Suggested reply text.
+                    },
+                  },
+                ],
+                &quot;title&quot;: &quot;A String&quot;, # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
+              },
+            ],
+            &quot;cardWidth&quot;: &quot;A String&quot;, # Required. The width of the cards in the carousel.
+          },
+          &quot;rbmStandaloneRichCard&quot;: { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
+            &quot;cardContent&quot;: { # Rich Business Messaging (RBM) Card content # Required. Card content.
+              &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
+              &quot;media&quot;: { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg&#x27; * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
+                &quot;fileUri&quot;: &quot;A String&quot;, # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
+                &quot;height&quot;: &quot;A String&quot;, # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
+                &quot;thumbnailUri&quot;: &quot;A String&quot;, # Optional. Publicly reachable URI of the thumbnail.If you don&#x27;t provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user&#x27;s device downloads the file. Depending on the user&#x27;s setting, the file may not download automatically and may require the user to tap a download button.
+              },
+              &quot;suggestions&quot;: [ # Optional. List of suggestions to include in the card.
+                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
+                  &quot;action&quot;: { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
+                    &quot;dial&quot;: { # Opens the user&#x27;s default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
+                      &quot;phoneNumber&quot;: &quot;A String&quot;, # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
+                    },
+                    &quot;openUrl&quot;: { # Opens the user&#x27;s default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
+                      &quot;uri&quot;: &quot;A String&quot;, # Required. The uri to open on the user device
+                    },
+                    &quot;postbackData&quot;: &quot;A String&quot;, # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
+                    &quot;shareLocation&quot;: { # Opens the device&#x27;s location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
+                    },
+                    &quot;text&quot;: &quot;A String&quot;, # Text to display alongside the action.
+                  },
+                  &quot;reply&quot;: { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
+                    &quot;postbackData&quot;: &quot;A String&quot;, # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
+                    &quot;text&quot;: &quot;A String&quot;, # Suggested reply text.
+                  },
+                },
+              ],
+              &quot;title&quot;: &quot;A String&quot;, # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
+            },
+            &quot;cardOrientation&quot;: &quot;A String&quot;, # Required. Orientation of the card.
+            &quot;thumbnailImageAlignment&quot;: &quot;A String&quot;, # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
+          },
+          &quot;rbmText&quot;: { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
+            &quot;rbmSuggestion&quot;: [ # Optional. One or more suggestions to show to the user.
+              { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
+                &quot;action&quot;: { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
+                  &quot;dial&quot;: { # Opens the user&#x27;s default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
+                    &quot;phoneNumber&quot;: &quot;A String&quot;, # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
+                  },
+                  &quot;openUrl&quot;: { # Opens the user&#x27;s default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
+                    &quot;uri&quot;: &quot;A String&quot;, # Required. The uri to open on the user device
+                  },
+                  &quot;postbackData&quot;: &quot;A String&quot;, # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
+                  &quot;shareLocation&quot;: { # Opens the device&#x27;s location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
+                  },
+                  &quot;text&quot;: &quot;A String&quot;, # Text to display alongside the action.
+                },
+                &quot;reply&quot;: { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
+                  &quot;postbackData&quot;: &quot;A String&quot;, # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
+                  &quot;text&quot;: &quot;A String&quot;, # Suggested reply text.
+                },
+              },
+            ],
+            &quot;text&quot;: &quot;A String&quot;, # Required. Text sent and displayed to the user.
+          },
+          &quot;simpleResponses&quot;: { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
+            &quot;simpleResponses&quot;: [ # Required. The list of simple responses.
+              { # The simple response message containing speech or text.
+                &quot;displayText&quot;: &quot;A String&quot;, # Optional. The text to display.
+                &quot;ssml&quot;: &quot;A String&quot;, # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
+                &quot;textToSpeech&quot;: &quot;A String&quot;, # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
+              },
+            ],
+          },
+          &quot;suggestions&quot;: { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
+            &quot;suggestions&quot;: [ # Required. The list of suggested replies.
+              { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
+                &quot;title&quot;: &quot;A String&quot;, # Required. The text shown the in the suggestion chip.
+              },
+            ],
+          },
+          &quot;tableCard&quot;: { # Table card for Actions on Google. # Table card for Actions on Google.
+            &quot;buttons&quot;: [ # Optional. List of buttons for the card.
+              { # The button object that appears at the bottom of a card.
+                &quot;openUriAction&quot;: { # Opens the given URI. # Required. Action to take when a user taps on the button.
+                  &quot;uri&quot;: &quot;A String&quot;, # Required. The HTTP or HTTPS scheme URI.
+                },
+                &quot;title&quot;: &quot;A String&quot;, # Required. The title of the button.
+              },
+            ],
+            &quot;columnProperties&quot;: [ # Optional. Display properties for the columns in this table.
+              { # Column properties for TableCard.
+                &quot;header&quot;: &quot;A String&quot;, # Required. Column heading.
+                &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Optional. Defines text alignment for all cells in this column.
+              },
+            ],
+            &quot;image&quot;: { # The image response message. # Optional. Image which should be displayed on the card.
+              &quot;accessibilityText&quot;: &quot;A String&quot;, # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
+              &quot;imageUri&quot;: &quot;A String&quot;, # Optional. The public URI to an image file.
+            },
+            &quot;rows&quot;: [ # Optional. Rows in this table of data.
+              { # Row of TableCard.
+                &quot;cells&quot;: [ # Optional. List of cells that make up this row.
+                  { # Cell of TableCardRow.
+                    &quot;text&quot;: &quot;A String&quot;, # Required. Text in this cell.
+                  },
+                ],
+                &quot;dividerAfter&quot;: True or False, # Optional. Whether to add a visual divider after this row.
+              },
+            ],
+            &quot;subtitle&quot;: &quot;A String&quot;, # Optional. Subtitle to the title.
+            &quot;title&quot;: &quot;A String&quot;, # Required. Title of the card.
+          },
+          &quot;telephonyPlayAudio&quot;: { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
+            &quot;audioUri&quot;: &quot;A String&quot;, # Required. URI to a Google Cloud Storage object containing the audio to play, e.g., &quot;gs://bucket/object&quot;. The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.
+          },
+          &quot;telephonySynthesizeSpeech&quot;: { # Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config. # Synthesizes speech in Telephony Gateway.
+            &quot;ssml&quot;: &quot;A String&quot;, # The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).
+            &quot;text&quot;: &quot;A String&quot;, # The raw text to be synthesized.
+          },
+          &quot;telephonyTransferCall&quot;: { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
+            &quot;phoneNumber&quot;: &quot;A String&quot;, # Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).
+          },
+          &quot;text&quot;: { # The text response message. # Returns a text response.
+            &quot;text&quot;: [ # Optional. The collection of the agent&#x27;s responses.
+              &quot;A String&quot;,
+            ],
+          },
+        },
+      ],
+      &quot;mlDisabled&quot;: True or False, # Optional. Indicates whether Machine Learning is disabled for the intent. Note: If `ml_disabled` setting is set to true, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off.
+      &quot;mlEnabled&quot;: True or False, # Optional. Indicates whether Machine Learning is enabled for the intent. Note: If `ml_enabled` setting is set to false, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off. DEPRECATED! Please use `ml_disabled` field instead. NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false, then the default value is determined as follows: - Before April 15th, 2018 the default is: ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the default is: ml_enabled = true / ml_disabled = false.
+      &quot;name&quot;: &quot;A String&quot;, # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
+      &quot;outputContexts&quot;: [ # Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the `lifespan_count` to 0 will reset the context when the intent is matched. Format: `projects//agent/sessions/-/contexts/`.
+        { # Dialogflow contexts are similar to natural language context. If a person says to you &quot;they are orange&quot;, you need context in order to understand what &quot;they&quot; is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
+          &quot;lifespanCount&quot;: 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
+          &quot;name&quot;: &quot;A String&quot;, # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in a-zA-Z0-9_-% and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default &#x27;draft&#x27; environment. If `User ID` is not specified, we assume default &#x27;-&#x27; user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
+          &quot;parameters&quot;: { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
+      ],
+      &quot;parameters&quot;: [ # Optional. The collection of parameters associated with the intent.
+        { # Represents intent parameters.
+          &quot;defaultValue&quot;: &quot;A String&quot;, # Optional. The default value to use when the `value` yields an empty result. Default values can be extracted from contexts by using the following syntax: `#context_name.parameter_name`.
+          &quot;displayName&quot;: &quot;A String&quot;, # Required. The name of the parameter.
+          &quot;entityTypeDisplayName&quot;: &quot;A String&quot;, # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
+          &quot;isList&quot;: True or False, # Optional. Indicates whether the parameter represents a list of values.
+          &quot;mandatory&quot;: True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
+          &quot;name&quot;: &quot;A String&quot;, # The unique identifier of this parameter.
+          &quot;prompts&quot;: [ # Optional. The collection of prompts that the agent can present to the user in order to collect a value for the parameter.
+            &quot;A String&quot;,
+          ],
+          &quot;value&quot;: &quot;A String&quot;, # Optional. The definition of the parameter value. It can be: - a constant string, - a parameter value defined as `$parameter_name`, - an original parameter value defined as `$parameter_name.original`, - a parameter value from some context defined as `#context_name.parameter_name`.
+        },
+      ],
+      &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
+      &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
+      &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
+      &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
+        { # Represents an example that the agent is trained on.
+          &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
+          &quot;parts&quot;: [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
+            { # Represents a part of a training phrase.
+              &quot;alias&quot;: &quot;A String&quot;, # Optional. The parameter name for the value extracted from the annotated part of the example. This field is required for annotated parts of the training phrase.
+              &quot;entityType&quot;: &quot;A String&quot;, # Optional. The entity type name prefixed with `@`. This field is required for annotated parts of the training phrase.
+              &quot;text&quot;: &quot;A String&quot;, # Required. The text for this part.
+              &quot;userDefined&quot;: True or False, # Optional. Indicates whether the text was manually annotated. This field is set to true when the Dialogflow Console is used to manually annotate the part. When creating an annotated part with the API, you must set this to true.
+            },
+          ],
+          &quot;timesAddedCount&quot;: 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
+          &quot;type&quot;: &quot;A String&quot;, # Required. The type of the training phrase.
+        },
+      ],
+      &quot;webhookState&quot;: &quot;A String&quot;, # Optional. Indicates whether webhooks are enabled for the intent.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results in the list.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>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 &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.intents.html b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.intents.html
index 3331fb3..e72cce9 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.intents.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.intents.html
@@ -1993,7 +1993,7 @@
   <pre>Returns the list of all intents in the specified agent.
 
 Args:
-  parent: string, Required. The agent to list all intents from. Format: `projects//agent`. (required)
+  parent: string, Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment. (required)
   intentView: string, Optional. The resource view to apply to the returned intent.
     Allowed values
       INTENT_VIEW_UNSPECIFIED - Training phrases field is not populated in the response.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html
index ad6d201..b4d2700 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html
@@ -201,7 +201,7 @@
 
     { # The response message for Participants.AnalyzeContent.
   &quot;automatedAgentReply&quot;: { # Represents a response from an automated agent. # Optional. Only set if a Dialogflow automated agent has responded. Note that: AutomatedAgentReply.detect_intent_response.output_audio and AutomatedAgentReply.detect_intent_response.output_audio_config are always empty, use reply_audio instead.
-    &quot;cxSessionParameters&quot;: { # The collection of current Dialogflow CX agent session parameters at the time of this response.
+    &quot;cxSessionParameters&quot;: { # The collection of current Dialogflow CX agent session parameters at the time of this response. Deprecated: Use `parameters` instead.
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;detectIntentResponse&quot;: { # The message returned from the DetectIntent method. # Response of the Dialogflow Sessions.DetectIntent call.
@@ -1571,6 +1571,10 @@
     },
     &quot;event&quot;: &quot;A String&quot;, # Event name if an event is triggered for the query.
     &quot;intent&quot;: &quot;A String&quot;, # Name of the intent if an intent is matched for the query. For a V2 query, the value format is `projects//locations/ /agent/intents/`. For a V3 query, the value format is `projects//locations/ /agents//intents/`.
+    &quot;matchConfidence&quot;: 3.14, # The confidence of the match. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). This value is for informational purpose only and is only used to help match the best intent within the classification threshold. This value may change for the same end-user expression at any time due to a model retraining or change in implementation.
+    &quot;parameters&quot;: { # The collection of current parameters at the time of this response.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
     &quot;responseMessages&quot;: [ # Response messages from the automated agent.
       { # Response messages from an automated agent.
         &quot;endInteraction&quot;: { # Indicates that interaction with the Dialogflow agent has ended. # A signal that indicates the interaction with the Dialogflow agent has ended.
diff --git a/docs/dyn/dialogflow_v3.projects.locations.agents.environments.sessions.html b/docs/dyn/dialogflow_v3.projects.locations.agents.environments.sessions.html
index b33ee7c..7afabcf 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.agents.environments.sessions.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.agents.environments.sessions.html
@@ -161,7 +161,7 @@
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
-    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
@@ -1038,7 +1038,7 @@
         &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
       },
-      &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+      &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
       &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
@@ -1892,7 +1892,7 @@
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
-    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
diff --git a/docs/dyn/dialogflow_v3.projects.locations.agents.sessions.html b/docs/dyn/dialogflow_v3.projects.locations.agents.sessions.html
index 82d4421..fcff4d2 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.agents.sessions.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.agents.sessions.html
@@ -161,7 +161,7 @@
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
-    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
@@ -1038,7 +1038,7 @@
         &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
       },
-      &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+      &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
       &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
@@ -1892,7 +1892,7 @@
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
-    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
diff --git a/docs/dyn/dialogflow_v3.projects.locations.securitySettings.html b/docs/dyn/dialogflow_v3.projects.locations.securitySettings.html
index 2730773..72311f9 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.securitySettings.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.securitySettings.html
@@ -117,9 +117,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }
 
   x__xgafv: string, V1 error format.
@@ -137,9 +137,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }</pre>
 </div>
 
@@ -182,9 +182,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }</pre>
 </div>
 
@@ -214,9 +214,9 @@
       &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
         &quot;A String&quot;,
       ],
-      &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+      &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
       &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-      &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+      &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
     },
   ],
 }</pre>
@@ -252,9 +252,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }
 
   updateMask: string, Required. The mask to control which fields get updated. If the mask is not present, all fields will be updated.
@@ -273,9 +273,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }</pre>
 </div>
 
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.environments.sessions.html b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.environments.sessions.html
index ff9f3c7..8de0718 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.environments.sessions.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.environments.sessions.html
@@ -161,7 +161,7 @@
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
-    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
@@ -1038,7 +1038,7 @@
         &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
       },
-      &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+      &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
       &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
@@ -1892,7 +1892,7 @@
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
-    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.sessions.html b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.sessions.html
index 8937368..77cfa2e 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.sessions.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.sessions.html
@@ -161,7 +161,7 @@
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
-    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
@@ -1038,7 +1038,7 @@
         &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
       },
-      &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+      &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
       &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
@@ -1892,7 +1892,7 @@
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
-    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
+    &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: ``` { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } } ```
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.securitySettings.html b/docs/dyn/dialogflow_v3beta1.projects.locations.securitySettings.html
index 3af29a8..1325eae 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.securitySettings.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.securitySettings.html
@@ -117,9 +117,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }
 
   x__xgafv: string, V1 error format.
@@ -137,9 +137,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }</pre>
 </div>
 
@@ -182,9 +182,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }</pre>
 </div>
 
@@ -214,9 +214,9 @@
       &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
         &quot;A String&quot;,
       ],
-      &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+      &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
       &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-      &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+      &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
     },
   ],
 }</pre>
@@ -252,9 +252,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }
 
   updateMask: string, Required. The mask to control which fields get updated. If the mask is not present, all fields will be updated.
@@ -273,9 +273,9 @@
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
   ],
-  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines on what data we apply redaction. Note that we don&#x27;t redact data to which we don&#x27;t have access, e.g., Stackdriver logs.
+  &quot;redactionScope&quot;: &quot;A String&quot;, # Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to – for example, Cloud logging.
   &quot;redactionStrategy&quot;: &quot;A String&quot;, # Strategy that defines how we do redaction.
-  &quot;retentionWindowDays&quot;: 42, # Retains the data for the specified number of days. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL.
+  &quot;retentionWindowDays&quot;: 42, # Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow&#x27;s default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow&#x27;s default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.
 }</pre>
 </div>
 
diff --git a/docs/dyn/dlp_v2.organizations.deidentifyTemplates.html b/docs/dyn/dlp_v2.organizations.deidentifyTemplates.html
index e1ea0b0..94bc0e0 100644
--- a/docs/dyn/dlp_v2.organizations.deidentifyTemplates.html
+++ b/docs/dyn/dlp_v2.organizations.deidentifyTemplates.html
@@ -383,7 +383,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -1178,7 +1178,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -1995,7 +1995,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -2800,7 +2800,7 @@
                   &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
                 },
               },
-              &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+              &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
                 { # General identifier of a data field in a storage service.
                   &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
                 },
@@ -3612,7 +3612,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -4406,7 +4406,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
diff --git a/docs/dyn/dlp_v2.organizations.locations.deidentifyTemplates.html b/docs/dyn/dlp_v2.organizations.locations.deidentifyTemplates.html
index b56c99e..421af29 100644
--- a/docs/dyn/dlp_v2.organizations.locations.deidentifyTemplates.html
+++ b/docs/dyn/dlp_v2.organizations.locations.deidentifyTemplates.html
@@ -383,7 +383,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -1178,7 +1178,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -1995,7 +1995,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -2800,7 +2800,7 @@
                   &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
                 },
               },
-              &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+              &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
                 { # General identifier of a data field in a storage service.
                   &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
                 },
@@ -3612,7 +3612,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -4406,7 +4406,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
diff --git a/docs/dyn/dlp_v2.projects.content.html b/docs/dyn/dlp_v2.projects.content.html
index 3eff83c..c43ec43 100644
--- a/docs/dyn/dlp_v2.projects.content.html
+++ b/docs/dyn/dlp_v2.projects.content.html
@@ -372,7 +372,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -1143,7 +1143,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -2648,7 +2648,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -3247,7 +3247,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
diff --git a/docs/dyn/dlp_v2.projects.deidentifyTemplates.html b/docs/dyn/dlp_v2.projects.deidentifyTemplates.html
index 8d4a938..dbd7294 100644
--- a/docs/dyn/dlp_v2.projects.deidentifyTemplates.html
+++ b/docs/dyn/dlp_v2.projects.deidentifyTemplates.html
@@ -383,7 +383,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -1178,7 +1178,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -1995,7 +1995,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -2800,7 +2800,7 @@
                   &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
                 },
               },
-              &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+              &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
                 { # General identifier of a data field in a storage service.
                   &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
                 },
@@ -3612,7 +3612,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -4406,7 +4406,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
diff --git a/docs/dyn/dlp_v2.projects.locations.content.html b/docs/dyn/dlp_v2.projects.locations.content.html
index 5e4b96f..bc47f7b 100644
--- a/docs/dyn/dlp_v2.projects.locations.content.html
+++ b/docs/dyn/dlp_v2.projects.locations.content.html
@@ -372,7 +372,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -1143,7 +1143,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -2648,7 +2648,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -3247,7 +3247,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
diff --git a/docs/dyn/dlp_v2.projects.locations.deidentifyTemplates.html b/docs/dyn/dlp_v2.projects.locations.deidentifyTemplates.html
index 2667dc1..20937c9 100644
--- a/docs/dyn/dlp_v2.projects.locations.deidentifyTemplates.html
+++ b/docs/dyn/dlp_v2.projects.locations.deidentifyTemplates.html
@@ -383,7 +383,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -1178,7 +1178,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -1995,7 +1995,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
@@ -2800,7 +2800,7 @@
                   &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
                 },
               },
-              &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+              &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
                 { # General identifier of a data field in a storage service.
                   &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
                 },
@@ -3612,7 +3612,7 @@
                 &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
               },
             },
-            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+            &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
               { # General identifier of a data field in a storage service.
                 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
               },
@@ -4406,7 +4406,7 @@
               &quot;logicalOperator&quot;: &quot;A String&quot;, # The operator to apply to the result of conditions. Default and currently only supported value is `AND`.
             },
           },
-          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to.
+          &quot;fields&quot;: [ # Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of &quot;contact.nums[0].type&quot;, use &quot;contact.nums.type&quot;.
             { # General identifier of a data field in a storage service.
               &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
             },
diff --git a/docs/dyn/firebasestorage_v1beta.projects.buckets.html b/docs/dyn/firebasestorage_v1beta.projects.buckets.html
index f56592d..7e77bbd 100644
--- a/docs/dyn/firebasestorage_v1beta.projects.buckets.html
+++ b/docs/dyn/firebasestorage_v1beta.projects.buckets.html
@@ -115,7 +115,6 @@
 
     { # A storage bucket and its relation to a parent Firebase project.
   &quot;name&quot;: &quot;A String&quot;, # Resource name of the bucket.
-  &quot;reconciling&quot;: True or False, # Output only. Represents whether a bucket is being moved to a new location, in which case reconciling is set to true.
 }</pre>
 </div>
 
@@ -140,7 +139,6 @@
 
     { # A storage bucket and its relation to a parent Firebase project.
   &quot;name&quot;: &quot;A String&quot;, # Resource name of the bucket.
-  &quot;reconciling&quot;: True or False, # Output only. Represents whether a bucket is being moved to a new location, in which case reconciling is set to true.
 }</pre>
 </div>
 
@@ -164,7 +162,6 @@
   &quot;buckets&quot;: [ # The list of linked buckets.
     { # A storage bucket and its relation to a parent Firebase project.
       &quot;name&quot;: &quot;A String&quot;, # Resource name of the bucket.
-      &quot;reconciling&quot;: True or False, # Output only. Represents whether a bucket is being moved to a new location, in which case reconciling is set to true.
     },
   ],
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
diff --git a/docs/dyn/firestore_v1.projects.databases.documents.html b/docs/dyn/firestore_v1.projects.databases.documents.html
index 02464f5..5887319 100644
--- a/docs/dyn/firestore_v1.projects.databases.documents.html
+++ b/docs/dyn/firestore_v1.projects.databases.documents.html
@@ -175,11 +175,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # 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.
     &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -234,16 +230,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # 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.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # 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.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;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.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -263,11 +274,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # 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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -287,11 +294,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # 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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -312,7 +315,26 @@
             },
             &quot;removeAllFromArray&quot;: { # 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.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # 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.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;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.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -323,11 +345,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # 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.
         &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -359,16 +377,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # 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.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # 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.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;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.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -388,11 +421,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # 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.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -412,11 +441,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # 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.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -437,7 +462,26 @@
           },
           &quot;removeAllFromArray&quot;: { # 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.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # 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.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;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.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -471,11 +515,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -563,16 +603,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # 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.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # 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.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;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.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -592,11 +647,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # 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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -616,11 +667,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # 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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -641,7 +688,26 @@
             },
             &quot;removeAllFromArray&quot;: { # 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.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # 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.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;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.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -652,11 +718,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # 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.
         &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -688,16 +750,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # 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.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # 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.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;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.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -717,11 +794,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # 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.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -741,11 +814,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # 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.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -766,7 +835,26 @@
           },
           &quot;removeAllFromArray&quot;: { # 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.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # 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.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;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.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -790,11 +878,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -834,11 +918,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # 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.
   &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -876,11 +956,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # 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.
   &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -946,11 +1022,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # 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.
   &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1003,11 +1075,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # 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.
       &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1117,11 +1185,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # 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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1169,11 +1233,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # 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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1207,11 +1267,7 @@
             },
             &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
             &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1264,11 +1320,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # 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.
       &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1354,11 +1406,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # 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.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1406,11 +1454,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # 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.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1444,11 +1488,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1493,11 +1533,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # 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.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1549,11 +1585,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # 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.
   &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1593,11 +1625,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # 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.
   &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1671,11 +1699,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # 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.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1723,11 +1747,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # 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.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1761,11 +1781,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1809,11 +1825,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # 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.
     &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1870,16 +1882,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # 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.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # 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.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;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.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1899,11 +1926,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # 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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1923,11 +1946,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # 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.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1948,7 +1967,26 @@
             },
             &quot;removeAllFromArray&quot;: { # 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.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # 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.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;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.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -1959,11 +1997,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # 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.
         &quot;fields&quot;: { # The document&#x27;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 `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;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&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1995,16 +2029,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # 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.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # 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.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;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.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;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.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2024,11 +2073,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # 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.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2048,11 +2093,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # 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.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2073,7 +2114,26 @@
           },
           &quot;removeAllFromArray&quot;: { # 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.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # 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.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;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.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # 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.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -2099,11 +2159,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
diff --git a/docs/dyn/manufacturers_v1.accounts.products.html b/docs/dyn/manufacturers_v1.accounts.products.html
index babd888..5d76459 100644
--- a/docs/dyn/manufacturers_v1.accounts.products.html
+++ b/docs/dyn/manufacturers_v1.accounts.products.html
@@ -215,7 +215,9 @@
     &quot;scent&quot;: &quot;A String&quot;, # The scent of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#scent.
     &quot;size&quot;: &quot;A String&quot;, # The size of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#size.
     &quot;sizeSystem&quot;: &quot;A String&quot;, # The size system of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizesystem.
-    &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizetype.
+    &quot;sizeType&quot;: [ # The size type of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizetype.
+      &quot;A String&quot;,
+    ],
     &quot;suggestedRetailPrice&quot;: { # A price. # The suggested retail price (MSRP) of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#price.
       &quot;amount&quot;: &quot;A String&quot;, # The numeric value of the price.
       &quot;currency&quot;: &quot;A String&quot;, # The currency in which the price is denoted.
@@ -355,7 +357,9 @@
         &quot;scent&quot;: &quot;A String&quot;, # The scent of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#scent.
         &quot;size&quot;: &quot;A String&quot;, # The size of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#size.
         &quot;sizeSystem&quot;: &quot;A String&quot;, # The size system of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizesystem.
-        &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizetype.
+        &quot;sizeType&quot;: [ # The size type of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizetype.
+          &quot;A String&quot;,
+        ],
         &quot;suggestedRetailPrice&quot;: { # A price. # The suggested retail price (MSRP) of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#price.
           &quot;amount&quot;: &quot;A String&quot;, # The numeric value of the price.
           &quot;currency&quot;: &quot;A String&quot;, # The currency in which the price is denoted.
@@ -495,7 +499,9 @@
   &quot;scent&quot;: &quot;A String&quot;, # The scent of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#scent.
   &quot;size&quot;: &quot;A String&quot;, # The size of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#size.
   &quot;sizeSystem&quot;: &quot;A String&quot;, # The size system of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizesystem.
-  &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizetype.
+  &quot;sizeType&quot;: [ # The size type of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizetype.
+    &quot;A String&quot;,
+  ],
   &quot;suggestedRetailPrice&quot;: { # A price. # The suggested retail price (MSRP) of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#price.
     &quot;amount&quot;: &quot;A String&quot;, # The numeric value of the price.
     &quot;currency&quot;: &quot;A String&quot;, # The currency in which the price is denoted.
diff --git a/docs/dyn/people_v1.people.html b/docs/dyn/people_v1.people.html
index 65c67c9..2e17b72 100644
--- a/docs/dyn/people_v1.people.html
+++ b/docs/dyn/people_v1.people.html
@@ -7086,7 +7086,7 @@
 Args:
   personFields: string, Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined
   requestMask_includeField: string, Required. Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`.
-  resourceNames: string, Required. The resource names of the people to provide information about. It&#x27;s repeatable. The URL query parameter should be resourceNames=&lt;name1&gt;&amp;resourceNames=&lt;name2&gt;&amp;... - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by [`people.connections.list`](/people/api/rest/v1/people.connections/list). You can include up to 50 resource names in one request. (repeated)
+  resourceNames: string, Required. The resource names of the people to provide information about. It&#x27;s repeatable. The URL query parameter should be resourceNames=&lt;name1&gt;&amp;resourceNames=&lt;name2&gt;&amp;... - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by [`people.connections.list`](/people/api/rest/v1/people.connections/list). You can include up to 200 resource names in one request. (repeated)
   sources: string, Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. (repeated)
     Allowed values
       READ_SOURCE_TYPE_UNSPECIFIED - Unspecified.
diff --git a/docs/dyn/prod_tt_sasportal_v1alpha1.customers.deployments.html b/docs/dyn/prod_tt_sasportal_v1alpha1.customers.deployments.html
index 090707a..6ea60b4 100644
--- a/docs/dyn/prod_tt_sasportal_v1alpha1.customers.deployments.html
+++ b/docs/dyn/prod_tt_sasportal_v1alpha1.customers.deployments.html
@@ -124,6 +124,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -144,6 +147,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -189,6 +195,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -221,6 +230,9 @@
       ],
       &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
       &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+      &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+        &quot;A String&quot;,
+      ],
       &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
       &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
         &quot;A String&quot;,
@@ -302,6 +314,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -323,6 +338,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
diff --git a/docs/dyn/prod_tt_sasportal_v1alpha1.customers.nodes.deployments.html b/docs/dyn/prod_tt_sasportal_v1alpha1.customers.nodes.deployments.html
index 3344fb7..2100a91 100644
--- a/docs/dyn/prod_tt_sasportal_v1alpha1.customers.nodes.deployments.html
+++ b/docs/dyn/prod_tt_sasportal_v1alpha1.customers.nodes.deployments.html
@@ -107,6 +107,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -127,6 +130,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -159,6 +165,9 @@
       ],
       &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
       &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+      &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+        &quot;A String&quot;,
+      ],
       &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
       &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
         &quot;A String&quot;,
diff --git a/docs/dyn/prod_tt_sasportal_v1alpha1.deployments.html b/docs/dyn/prod_tt_sasportal_v1alpha1.deployments.html
index 2501419..eea8f1c 100644
--- a/docs/dyn/prod_tt_sasportal_v1alpha1.deployments.html
+++ b/docs/dyn/prod_tt_sasportal_v1alpha1.deployments.html
@@ -111,6 +111,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
diff --git a/docs/dyn/prod_tt_sasportal_v1alpha1.nodes.deployments.html b/docs/dyn/prod_tt_sasportal_v1alpha1.nodes.deployments.html
index 049e5dd..48421d4 100644
--- a/docs/dyn/prod_tt_sasportal_v1alpha1.nodes.deployments.html
+++ b/docs/dyn/prod_tt_sasportal_v1alpha1.nodes.deployments.html
@@ -144,6 +144,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -176,6 +179,9 @@
       ],
       &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
       &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+      &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+        &quot;A String&quot;,
+      ],
       &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
       &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
         &quot;A String&quot;,
@@ -257,6 +263,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -278,6 +287,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
diff --git a/docs/dyn/prod_tt_sasportal_v1alpha1.nodes.nodes.deployments.html b/docs/dyn/prod_tt_sasportal_v1alpha1.nodes.nodes.deployments.html
index eed186c..4c18af7 100644
--- a/docs/dyn/prod_tt_sasportal_v1alpha1.nodes.nodes.deployments.html
+++ b/docs/dyn/prod_tt_sasportal_v1alpha1.nodes.nodes.deployments.html
@@ -107,6 +107,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -127,6 +130,9 @@
   ],
   &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
   &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+  &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+    &quot;A String&quot;,
+  ],
   &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
     &quot;A String&quot;,
@@ -159,6 +165,9 @@
       ],
       &quot;defaultBillingMode&quot;: &quot;A String&quot;, # Default billing mode for the deployment and devices under it.
       &quot;displayName&quot;: &quot;A String&quot;, # The deployment&#x27;s display name.
+      &quot;frns&quot;: [ # Output only. The FRNs copied from its direct parent.
+        &quot;A String&quot;,
+      ],
       &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
       &quot;sasUserIds&quot;: [ # User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
         &quot;A String&quot;,
diff --git a/docs/dyn/recaptchaenterprise_v1.projects.keys.html b/docs/dyn/recaptchaenterprise_v1.projects.keys.html
index 7173cd1..b51536e 100644
--- a/docs/dyn/recaptchaenterprise_v1.projects.keys.html
+++ b/docs/dyn/recaptchaenterprise_v1.projects.keys.html
@@ -97,7 +97,7 @@
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
   <code><a href="#migrate">migrate(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests will be billed as CreateAssessment calls.</p>
+<p class="firstline">Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests are billed as CreateAssessment calls. You must be authenticated as one of the current owners of the reCAPTCHA Site Key, and your user must have the reCAPTCHA Enterprise Admin IAM role in the destination project.</p>
 <p class="toc_element">
   <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates the specified key.</p>
@@ -367,7 +367,7 @@
 
 <div class="method">
     <code class="details" id="migrate">migrate(name, body=None, x__xgafv=None)</code>
-  <pre>Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests will be billed as CreateAssessment calls.
+  <pre>Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests are billed as CreateAssessment calls. You must be authenticated as one of the current owners of the reCAPTCHA Site Key, and your user must have the reCAPTCHA Enterprise Admin IAM role in the destination project.
 
 Args:
   name: string, Required. The name of the key to be migrated, in the format &quot;projects/{project}/keys/{key}&quot;. (required)
@@ -459,7 +459,7 @@
   },
 }
 
-  updateMask: string, Optional. The mask to control which field of the key get updated. If the mask is not present, all fields will be updated.
+  updateMask: string, Optional. The mask to control which fields of the key get updated. If the mask is not present, all fields will be updated.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/redis_v1beta1.projects.locations.instances.html b/docs/dyn/redis_v1beta1.projects.locations.instances.html
index 6cf32cb..86a186d 100644
--- a/docs/dyn/redis_v1beta1.projects.locations.instances.html
+++ b/docs/dyn/redis_v1beta1.projects.locations.instances.html
@@ -108,6 +108,9 @@
   <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates the metadata and configuration of a specific Redis instance. Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.</p>
 <p class="toc_element">
+  <code><a href="#rescheduleMaintenance">rescheduleMaintenance(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Reschedule maintenance for a given instance in a given project and location.</p>
+<p class="toc_element">
   <code><a href="#upgrade">upgrade(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Upgrades Redis instance to the newer Redis version specified in the request.</p>
 <h3>Method Details</h3>
@@ -138,6 +141,29 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;locationId&quot;: &quot;A String&quot;, # Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If alternative_location_id is also provided, it must be different from location_id.
+  &quot;maintenancePolicy&quot;: { # Maintenance policy for an instance. # Optional. The maintenance policy for the instance. If not provided, maintenance events can be performed at any time.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the policy was created.
+    &quot;description&quot;: &quot;A String&quot;, # Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the policy was last updated.
+    &quot;weeklyMaintenanceWindow&quot;: [ # Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.
+      { # Time window in which disruptive maintenance updates occur. Non-disruptive updates can occur inside or outside this window.
+        &quot;day&quot;: &quot;A String&quot;, # Required. The day of week that maintenance updates occur.
+        &quot;duration&quot;: &quot;A String&quot;, # Output only. Duration of the maintenance window. The current window is fixed at 3 hours.
+        &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Start time of the window in UTC time.
+          &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+          &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+          &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+          &quot;seconds&quot;: 42, # 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.
+        },
+      },
+    ],
+  },
+  &quot;maintenanceSchedule&quot;: { # Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated. # Output only. Date and time of upcoming maintenance events which have been scheduled.
+    &quot;canReschedule&quot;: True or False, # If the scheduled maintenance can be rescheduled, default is true.
+    &quot;endTime&quot;: &quot;A String&quot;, # Output only. The end time of any upcoming scheduled maintenance for this instance.
+    &quot;scheduleDeadlineTime&quot;: &quot;A String&quot;, # Output only. The time deadline any schedule start time cannot go beyond, including reschedule.
+    &quot;startTime&quot;: &quot;A String&quot;, # Output only. The start time of any upcoming scheduled maintenance for this instance.
+  },
   &quot;memorySizeGb&quot;: 42, # Required. Redis memory size in GiB.
   &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details.
   &quot;persistenceIamIdentity&quot;: &quot;A String&quot;, # Output only. Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is &quot;serviceAccount:&quot;. The value may change over time for a given instance so should be checked before each import/export operation.
@@ -342,6 +368,29 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;locationId&quot;: &quot;A String&quot;, # Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If alternative_location_id is also provided, it must be different from location_id.
+  &quot;maintenancePolicy&quot;: { # Maintenance policy for an instance. # Optional. The maintenance policy for the instance. If not provided, maintenance events can be performed at any time.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the policy was created.
+    &quot;description&quot;: &quot;A String&quot;, # Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the policy was last updated.
+    &quot;weeklyMaintenanceWindow&quot;: [ # Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.
+      { # Time window in which disruptive maintenance updates occur. Non-disruptive updates can occur inside or outside this window.
+        &quot;day&quot;: &quot;A String&quot;, # Required. The day of week that maintenance updates occur.
+        &quot;duration&quot;: &quot;A String&quot;, # Output only. Duration of the maintenance window. The current window is fixed at 3 hours.
+        &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Start time of the window in UTC time.
+          &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+          &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+          &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+          &quot;seconds&quot;: 42, # 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.
+        },
+      },
+    ],
+  },
+  &quot;maintenanceSchedule&quot;: { # Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated. # Output only. Date and time of upcoming maintenance events which have been scheduled.
+    &quot;canReschedule&quot;: True or False, # If the scheduled maintenance can be rescheduled, default is true.
+    &quot;endTime&quot;: &quot;A String&quot;, # Output only. The end time of any upcoming scheduled maintenance for this instance.
+    &quot;scheduleDeadlineTime&quot;: &quot;A String&quot;, # Output only. The time deadline any schedule start time cannot go beyond, including reschedule.
+    &quot;startTime&quot;: &quot;A String&quot;, # Output only. The start time of any upcoming scheduled maintenance for this instance.
+  },
   &quot;memorySizeGb&quot;: 42, # Required. Redis memory size in GiB.
   &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details.
   &quot;persistenceIamIdentity&quot;: &quot;A String&quot;, # Output only. Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is &quot;serviceAccount:&quot;. The value may change over time for a given instance so should be checked before each import/export operation.
@@ -463,6 +512,29 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;locationId&quot;: &quot;A String&quot;, # Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If alternative_location_id is also provided, it must be different from location_id.
+      &quot;maintenancePolicy&quot;: { # Maintenance policy for an instance. # Optional. The maintenance policy for the instance. If not provided, maintenance events can be performed at any time.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the policy was created.
+        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the policy was last updated.
+        &quot;weeklyMaintenanceWindow&quot;: [ # Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.
+          { # Time window in which disruptive maintenance updates occur. Non-disruptive updates can occur inside or outside this window.
+            &quot;day&quot;: &quot;A String&quot;, # Required. The day of week that maintenance updates occur.
+            &quot;duration&quot;: &quot;A String&quot;, # Output only. Duration of the maintenance window. The current window is fixed at 3 hours.
+            &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Start time of the window in UTC time.
+              &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+              &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+              &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+              &quot;seconds&quot;: 42, # 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.
+            },
+          },
+        ],
+      },
+      &quot;maintenanceSchedule&quot;: { # Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated. # Output only. Date and time of upcoming maintenance events which have been scheduled.
+        &quot;canReschedule&quot;: True or False, # If the scheduled maintenance can be rescheduled, default is true.
+        &quot;endTime&quot;: &quot;A String&quot;, # Output only. The end time of any upcoming scheduled maintenance for this instance.
+        &quot;scheduleDeadlineTime&quot;: &quot;A String&quot;, # Output only. The time deadline any schedule start time cannot go beyond, including reschedule.
+        &quot;startTime&quot;: &quot;A String&quot;, # Output only. The start time of any upcoming scheduled maintenance for this instance.
+      },
       &quot;memorySizeGb&quot;: 42, # Required. Redis memory size in GiB.
       &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details.
       &quot;persistenceIamIdentity&quot;: &quot;A String&quot;, # Output only. Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is &quot;serviceAccount:&quot;. The value may change over time for a given instance so should be checked before each import/export operation.
@@ -530,6 +602,29 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;locationId&quot;: &quot;A String&quot;, # Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If alternative_location_id is also provided, it must be different from location_id.
+  &quot;maintenancePolicy&quot;: { # Maintenance policy for an instance. # Optional. The maintenance policy for the instance. If not provided, maintenance events can be performed at any time.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the policy was created.
+    &quot;description&quot;: &quot;A String&quot;, # Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the policy was last updated.
+    &quot;weeklyMaintenanceWindow&quot;: [ # Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.
+      { # Time window in which disruptive maintenance updates occur. Non-disruptive updates can occur inside or outside this window.
+        &quot;day&quot;: &quot;A String&quot;, # Required. The day of week that maintenance updates occur.
+        &quot;duration&quot;: &quot;A String&quot;, # Output only. Duration of the maintenance window. The current window is fixed at 3 hours.
+        &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Start time of the window in UTC time.
+          &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+          &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+          &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+          &quot;seconds&quot;: 42, # 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.
+        },
+      },
+    ],
+  },
+  &quot;maintenanceSchedule&quot;: { # Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated. # Output only. Date and time of upcoming maintenance events which have been scheduled.
+    &quot;canReschedule&quot;: True or False, # If the scheduled maintenance can be rescheduled, default is true.
+    &quot;endTime&quot;: &quot;A String&quot;, # Output only. The end time of any upcoming scheduled maintenance for this instance.
+    &quot;scheduleDeadlineTime&quot;: &quot;A String&quot;, # Output only. The time deadline any schedule start time cannot go beyond, including reschedule.
+    &quot;startTime&quot;: &quot;A String&quot;, # Output only. The start time of any upcoming scheduled maintenance for this instance.
+  },
   &quot;memorySizeGb&quot;: 42, # Required. Redis memory size in GiB.
   &quot;name&quot;: &quot;A String&quot;, # Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details.
   &quot;persistenceIamIdentity&quot;: &quot;A String&quot;, # Output only. Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is &quot;serviceAccount:&quot;. The value may change over time for a given instance so should be checked before each import/export operation.
@@ -585,6 +680,49 @@
 </div>
 
 <div class="method">
+    <code class="details" id="rescheduleMaintenance">rescheduleMaintenance(name, body=None, x__xgafv=None)</code>
+  <pre>Reschedule maintenance for a given instance in a given project and location.
+
+Args:
+  name: string, Required. Redis instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for RescheduleMaintenance.
+  &quot;rescheduleType&quot;: &quot;A String&quot;, # Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
+  &quot;scheduleTime&quot;: &quot;A String&quot;, # Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.
+}
+
+  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.
+  &quot;done&quot;: 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.
+  &quot;error&quot;: { # 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.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # 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.
+  },
+  &quot;metadata&quot;: { # { `createTime`: The time the operation was created. `endTime`: The time the operation finished running. `target`: Server-defined resource path for the target of the operation. `verb`: Name of the verb executed by the operation. `statusDetail`: Human-readable status of the operation, if any. `cancelRequested`: 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`. `apiVersion`: API version used to start the operation. }
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # 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}`.
+  &quot;response&quot;: { # 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`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="upgrade">upgrade(name, body=None, x__xgafv=None)</code>
   <pre>Upgrades Redis instance to the newer Redis version specified in the request.
 
diff --git a/docs/dyn/servicecontrol_v1.services.html b/docs/dyn/servicecontrol_v1.services.html
index b1dafc2..2510a23 100644
--- a/docs/dyn/servicecontrol_v1.services.html
+++ b/docs/dyn/servicecontrol_v1.services.html
@@ -79,7 +79,7 @@
 <p class="firstline">Attempts to allocate quota for the specified consumer. It should be called before the operation is executed. This method requires the `servicemanagement.services.quota` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam). **NOTE:** The client **must** fail-open on server errors `INTERNAL`, `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system reliability, the server may inject these errors to prohibit any hard dependency on the quota functionality.</p>
 <p class="toc_element">
   <code><a href="#check">check(serviceName, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the `Check` method having the latest policy information. NOTE: the CheckRequest has the size limit of 64KB. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam).</p>
+<p class="firstline">Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the `Check` method having the latest policy information. NOTE: the CheckRequest has the size limit (wire-format byte size) of 1MB. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam).</p>
 <p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
@@ -264,7 +264,7 @@
 
 <div class="method">
     <code class="details" id="check">check(serviceName, body=None, x__xgafv=None)</code>
-  <pre>Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the `Check` method having the latest policy information. NOTE: the CheckRequest has the size limit of 64KB. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam).
+  <pre>Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the `Check` method having the latest policy information. NOTE: the CheckRequest has the size limit (wire-format byte size) of 1MB. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam).
 
 Args:
   serviceName: string, The service name as specified in its service configuration. For example, `&quot;pubsub.googleapis.com&quot;`. See [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) for the definition of a service name. (required)
diff --git a/docs/dyn/streetviewpublish_v1.photo.html b/docs/dyn/streetviewpublish_v1.photo.html
index 78be52e..47c1f47 100644
--- a/docs/dyn/streetviewpublish_v1.photo.html
+++ b/docs/dyn/streetviewpublish_v1.photo.html
@@ -232,7 +232,7 @@
   languageCode: string, The BCP-47 language code, such as &quot;en-US&quot; or &quot;sr-Latn&quot;. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If language_code is unspecified, the user&#x27;s language preference for Google services is used.
   view: string, Required. Specifies if a download URL for the photo bytes should be returned in the Photo response.
     Allowed values
-      BASIC - Server reponses do not include the download URL for the photo bytes. The default value.
+      BASIC - Server responses do not include the download URL for the photo bytes. The default value.
       INCLUDE_DOWNLOAD_URL - Server responses include the download URL for the photo bytes.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/streetviewpublish_v1.photos.html b/docs/dyn/streetviewpublish_v1.photos.html
index 79036e2..88b6417 100644
--- a/docs/dyn/streetviewpublish_v1.photos.html
+++ b/docs/dyn/streetviewpublish_v1.photos.html
@@ -139,7 +139,7 @@
   photoIds: string, Required. IDs of the Photos. For HTTP GET requests, the URL query parameter should be `photoIds=&amp;photoIds=&amp;...`. (repeated)
   view: string, Required. Specifies if a download URL for the photo bytes should be returned in the Photo response.
     Allowed values
-      BASIC - Server reponses do not include the download URL for the photo bytes. The default value.
+      BASIC - Server responses do not include the download URL for the photo bytes. The default value.
       INCLUDE_DOWNLOAD_URL - Server responses include the download URL for the photo bytes.
   x__xgafv: string, V1 error format.
     Allowed values
@@ -355,7 +355,7 @@
   pageToken: string, The nextPageToken value returned from a previous ListPhotos request, if any.
   view: string, Required. Specifies if a download URL for the photos bytes should be returned in the Photos response.
     Allowed values
-      BASIC - Server reponses do not include the download URL for the photo bytes. The default value.
+      BASIC - Server responses do not include the download URL for the photo bytes. The default value.
       INCLUDE_DOWNLOAD_URL - Server responses include the download URL for the photo bytes.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json b/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
index 22b8794..c2fd802 100644
--- a/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
+++ b/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
@@ -139,7 +139,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210517",
   "rootUrl": "https://abusiveexperiencereport.googleapis.com/",
   "schemas": {
     "SiteSummaryResponse": {
diff --git a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
index f4bc9d4..e01ca39 100644
--- a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
+++ b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
@@ -115,7 +115,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "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 7750d2f..ac6cbb5 100644
--- a/googleapiclient/discovery_cache/documents/accessapproval.v1.json
+++ b/googleapiclient/discovery_cache/documents/accessapproval.v1.json
@@ -754,7 +754,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210513",
   "rootUrl": "https://accessapproval.googleapis.com/",
   "schemas": {
     "AccessApprovalSettings": {
@@ -935,7 +935,7 @@
       "id": "EnrolledService",
       "properties": {
         "cloudProduct": {
-          "description": "The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services",
+          "description": "The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services",
           "type": "string"
         },
         "enrollmentLevel": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer.v12.json b/googleapiclient/discovery_cache/documents/adexchangebuyer.v12.json
index 45552be..fdbb3ac 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer.v12.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer.v12.json
@@ -15,7 +15,7 @@
   "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/g2gABPxFqOqc2GMnjPWRtAF-R_w\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/UmDcIC2VKv8yURpYmWmupL6iazM\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
     "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
@@ -259,7 +259,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210518",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer.v13.json b/googleapiclient/discovery_cache/documents/adexchangebuyer.v13.json
index 69255d0..a836a3d 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer.v13.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer.v13.json
@@ -15,7 +15,7 @@
   "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/Y-lnh_JW6ioqu8NKgAyNX4G1Wx0\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/LK7ETAZjjeHy0m0MRlD7Q441eA4\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
     "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
@@ -699,7 +699,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210518",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer.v14.json b/googleapiclient/discovery_cache/documents/adexchangebuyer.v14.json
index 783f61a..efc9317 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer.v14.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer.v14.json
@@ -15,7 +15,7 @@
   "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/IytqkV9fjt-M3LYIYY86RBS6ZZQ\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/LcszINCZFbVhThyZ2rzU86NAgvQ\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
     "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
@@ -1255,7 +1255,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210518",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
@@ -3399,6 +3399,9 @@
           "description": "Exchange where this publisher profile is from. E.g. AdX, Rubicon etc...",
           "type": "string"
         },
+        "forecastInventory": {
+          "type": "string"
+        },
         "googlePlusLink": {
           "description": "Link to publisher's Google+ page.",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
index 20f8829..ec582f3 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
@@ -2500,7 +2500,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210519",
   "rootUrl": "https://adexchangebuyer.googleapis.com/",
   "schemas": {
     "AbsoluteDateRange": {
diff --git a/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json b/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
index cc01142..cd10d53 100644
--- a/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
+++ b/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
@@ -138,7 +138,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "rootUrl": "https://adexperiencereport.googleapis.com/",
   "schemas": {
     "PlatformSummary": {
diff --git a/googleapiclient/discovery_cache/documents/admin.datatransferv1.json b/googleapiclient/discovery_cache/documents/admin.datatransferv1.json
index c3c4e17..1069bc7 100644
--- a/googleapiclient/discovery_cache/documents/admin.datatransferv1.json
+++ b/googleapiclient/discovery_cache/documents/admin.datatransferv1.json
@@ -272,7 +272,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210518",
   "rootUrl": "https://admin.googleapis.com/",
   "schemas": {
     "Application": {
diff --git a/googleapiclient/discovery_cache/documents/admin.directoryv1.json b/googleapiclient/discovery_cache/documents/admin.directoryv1.json
index 07e1d30..5bac616 100644
--- a/googleapiclient/discovery_cache/documents/admin.directoryv1.json
+++ b/googleapiclient/discovery_cache/documents/admin.directoryv1.json
@@ -4417,7 +4417,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210518",
   "rootUrl": "https://admin.googleapis.com/",
   "schemas": {
     "Alias": {
diff --git a/googleapiclient/discovery_cache/documents/admin.reportsv1.json b/googleapiclient/discovery_cache/documents/admin.reportsv1.json
index 31ad23d..d44eab1 100644
--- a/googleapiclient/discovery_cache/documents/admin.reportsv1.json
+++ b/googleapiclient/discovery_cache/documents/admin.reportsv1.json
@@ -631,7 +631,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210518",
   "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 d5bd5ee..8e44554 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210519",
   "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 c028cbf..47fdca1 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1beta.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210519",
   "rootUrl": "https://admob.googleapis.com/",
   "schemas": {
     "AdUnit": {
diff --git a/googleapiclient/discovery_cache/documents/adsense.v2.json b/googleapiclient/discovery_cache/documents/adsense.v2.json
index 569f0c7..d76f098 100644
--- a/googleapiclient/discovery_cache/documents/adsense.v2.json
+++ b/googleapiclient/discovery_cache/documents/adsense.v2.json
@@ -1559,7 +1559,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210517",
   "rootUrl": "https://adsense.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json b/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json
index ad58f96..0b7b848 100644
--- a/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json
@@ -423,7 +423,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210512",
   "rootUrl": "https://alertcenter.googleapis.com/",
   "schemas": {
     "AccountWarning": {
diff --git a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
index 6e9462c..7f9483b 100644
--- a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
@@ -711,6 +711,32 @@
             "https://www.googleapis.com/auth/analytics.readonly"
           ]
         },
+        "getGoogleSignalsSettings": {
+          "description": "Lookup for Google Signals settings for a property.",
+          "flatPath": "v1alpha/properties/{propertiesId}/googleSignalsSettings",
+          "httpMethod": "GET",
+          "id": "analyticsadmin.properties.getGoogleSignalsSettings",
+          "parameterOrder": [
+            "name"
+          ],
+          "parameters": {
+            "name": {
+              "description": "Required. The name of the google signals settings to retrieve. Format: properties/{property}/googleSignalsSettings",
+              "location": "path",
+              "pattern": "^properties/[^/]+/googleSignalsSettings$",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "v1alpha/{+name}",
+          "response": {
+            "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/analytics.edit",
+            "https://www.googleapis.com/auth/analytics.readonly"
+          ]
+        },
         "list": {
           "description": "Returns child Properties under the specified parent Account. Only \"GA4\" properties will be returned. Properties will be excluded if the caller does not have access. Soft-deleted (ie: \"trashed\") properties are excluded by default. Returns an empty list if no relevant properties are found.",
           "flatPath": "v1alpha/properties",
@@ -782,6 +808,40 @@
           "scopes": [
             "https://www.googleapis.com/auth/analytics.edit"
           ]
+        },
+        "updateGoogleSignalsSettings": {
+          "description": "Updates Google Signals settings for a property.",
+          "flatPath": "v1alpha/properties/{propertiesId}/googleSignalsSettings",
+          "httpMethod": "PATCH",
+          "id": "analyticsadmin.properties.updateGoogleSignalsSettings",
+          "parameterOrder": [
+            "name"
+          ],
+          "parameters": {
+            "name": {
+              "description": "Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: \"properties/1000/googleSignalsSettings\"",
+              "location": "path",
+              "pattern": "^properties/[^/]+/googleSignalsSettings$",
+              "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": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings"
+          },
+          "response": {
+            "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/analytics.edit"
+          ]
         }
       },
       "resources": {
@@ -909,6 +969,162 @@
                 "https://www.googleapis.com/auth/analytics.edit"
               ]
             }
+          },
+          "resources": {
+            "measurementProtocolSecrets": {
+              "methods": {
+                "create": {
+                  "description": "Creates a measurement protocol secret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams/{androidAppDataStreamsId}/measurementProtocolSecrets",
+                  "httpMethod": "POST",
+                  "id": "analyticsadmin.properties.androidAppDataStreams.measurementProtocolSecrets.create",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "parent": {
+                      "description": "Required. The parent resource where this secret will be created. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream}",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/androidAppDataStreams/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+parent}/measurementProtocolSecrets",
+                  "request": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit"
+                  ]
+                },
+                "delete": {
+                  "description": "Deletes target MeasurementProtocolSecret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams/{androidAppDataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
+                  "httpMethod": "DELETE",
+                  "id": "analyticsadmin.properties.androidAppDataStreams.measurementProtocolSecrets.delete",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent.",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/androidAppDataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "response": {
+                    "$ref": "GoogleProtobufEmpty"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit"
+                  ]
+                },
+                "get": {
+                  "description": "Lookup for a single \"GA4\" MeasurementProtocolSecret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams/{androidAppDataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
+                  "httpMethod": "GET",
+                  "id": "analyticsadmin.properties.androidAppDataStreams.measurementProtocolSecrets.get",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent.",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/androidAppDataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit",
+                    "https://www.googleapis.com/auth/analytics.readonly"
+                  ]
+                },
+                "list": {
+                  "description": "Returns child MeasurementProtocolSecrets under the specified parent Property.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams/{androidAppDataStreamsId}/measurementProtocolSecrets",
+                  "httpMethod": "GET",
+                  "id": "analyticsadmin.properties.androidAppDataStreams.measurementProtocolSecrets.list",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "pageSize": {
+                      "description": "The maximum number of resources to return. If unspecified, at most 10 resources will be returned. The maximum value is 10. Higher values will be coerced to the maximum.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "pageToken": {
+                      "description": "A page token, received from a previous `ListMeasurementProtocolSecrets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMeasurementProtocolSecrets` must match the call that provided the page token.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. The resource name of the parent stream. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/androidAppDataStreams/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+parent}/measurementProtocolSecrets",
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit",
+                    "https://www.googleapis.com/auth/analytics.readonly"
+                  ]
+                },
+                "patch": {
+                  "description": "Updates a measurement protocol secret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams/{androidAppDataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
+                  "httpMethod": "PATCH",
+                  "id": "analyticsadmin.properties.androidAppDataStreams.measurementProtocolSecrets.patch",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/androidAppDataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    },
+                    "updateMask": {
+                      "description": "The list of fields to be updated. Omitted fields will not be updated.",
+                      "format": "google-fieldmask",
+                      "location": "query",
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "request": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit"
+                  ]
+                }
+              }
+            }
           }
         },
         "conversionEvents": {
@@ -1725,6 +1941,162 @@
                 "https://www.googleapis.com/auth/analytics.edit"
               ]
             }
+          },
+          "resources": {
+            "measurementProtocolSecrets": {
+              "methods": {
+                "create": {
+                  "description": "Creates a measurement protocol secret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams/{iosAppDataStreamsId}/measurementProtocolSecrets",
+                  "httpMethod": "POST",
+                  "id": "analyticsadmin.properties.iosAppDataStreams.measurementProtocolSecrets.create",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "parent": {
+                      "description": "Required. The parent resource where this secret will be created. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream}",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/iosAppDataStreams/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+parent}/measurementProtocolSecrets",
+                  "request": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit"
+                  ]
+                },
+                "delete": {
+                  "description": "Deletes target MeasurementProtocolSecret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams/{iosAppDataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
+                  "httpMethod": "DELETE",
+                  "id": "analyticsadmin.properties.iosAppDataStreams.measurementProtocolSecrets.delete",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent.",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/iosAppDataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "response": {
+                    "$ref": "GoogleProtobufEmpty"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit"
+                  ]
+                },
+                "get": {
+                  "description": "Lookup for a single \"GA4\" MeasurementProtocolSecret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams/{iosAppDataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
+                  "httpMethod": "GET",
+                  "id": "analyticsadmin.properties.iosAppDataStreams.measurementProtocolSecrets.get",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent.",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/iosAppDataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit",
+                    "https://www.googleapis.com/auth/analytics.readonly"
+                  ]
+                },
+                "list": {
+                  "description": "Returns child MeasurementProtocolSecrets under the specified parent Property.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams/{iosAppDataStreamsId}/measurementProtocolSecrets",
+                  "httpMethod": "GET",
+                  "id": "analyticsadmin.properties.iosAppDataStreams.measurementProtocolSecrets.list",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "pageSize": {
+                      "description": "The maximum number of resources to return. If unspecified, at most 10 resources will be returned. The maximum value is 10. Higher values will be coerced to the maximum.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "pageToken": {
+                      "description": "A page token, received from a previous `ListMeasurementProtocolSecrets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMeasurementProtocolSecrets` must match the call that provided the page token.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. The resource name of the parent stream. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/iosAppDataStreams/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+parent}/measurementProtocolSecrets",
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit",
+                    "https://www.googleapis.com/auth/analytics.readonly"
+                  ]
+                },
+                "patch": {
+                  "description": "Updates a measurement protocol secret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams/{iosAppDataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
+                  "httpMethod": "PATCH",
+                  "id": "analyticsadmin.properties.iosAppDataStreams.measurementProtocolSecrets.patch",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/iosAppDataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    },
+                    "updateMask": {
+                      "description": "The list of fields to be updated. Omitted fields will not be updated.",
+                      "format": "google-fieldmask",
+                      "location": "query",
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "request": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit"
+                  ]
+                }
+              }
+            }
           }
         },
         "userLinks": {
@@ -2263,12 +2635,168 @@
                 "https://www.googleapis.com/auth/analytics.edit"
               ]
             }
+          },
+          "resources": {
+            "measurementProtocolSecrets": {
+              "methods": {
+                "create": {
+                  "description": "Creates a measurement protocol secret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}/measurementProtocolSecrets",
+                  "httpMethod": "POST",
+                  "id": "analyticsadmin.properties.webDataStreams.measurementProtocolSecrets.create",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "parent": {
+                      "description": "Required. The parent resource where this secret will be created. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream}",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/webDataStreams/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+parent}/measurementProtocolSecrets",
+                  "request": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit"
+                  ]
+                },
+                "delete": {
+                  "description": "Deletes target MeasurementProtocolSecret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
+                  "httpMethod": "DELETE",
+                  "id": "analyticsadmin.properties.webDataStreams.measurementProtocolSecrets.delete",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent.",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/webDataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "response": {
+                    "$ref": "GoogleProtobufEmpty"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit"
+                  ]
+                },
+                "get": {
+                  "description": "Lookup for a single \"GA4\" MeasurementProtocolSecret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
+                  "httpMethod": "GET",
+                  "id": "analyticsadmin.properties.webDataStreams.measurementProtocolSecrets.get",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret} Note: Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent.",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/webDataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit",
+                    "https://www.googleapis.com/auth/analytics.readonly"
+                  ]
+                },
+                "list": {
+                  "description": "Returns child MeasurementProtocolSecrets under the specified parent Property.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}/measurementProtocolSecrets",
+                  "httpMethod": "GET",
+                  "id": "analyticsadmin.properties.webDataStreams.measurementProtocolSecrets.list",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "pageSize": {
+                      "description": "The maximum number of resources to return. If unspecified, at most 10 resources will be returned. The maximum value is 10. Higher values will be coerced to the maximum.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "pageToken": {
+                      "description": "A page token, received from a previous `ListMeasurementProtocolSecrets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMeasurementProtocolSecrets` must match the call that provided the page token.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. The resource name of the parent stream. Any type of stream (WebDataStream, IosAppDataStream, AndroidAppDataStream) may be a parent. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/webDataStreams/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+parent}/measurementProtocolSecrets",
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit",
+                    "https://www.googleapis.com/auth/analytics.readonly"
+                  ]
+                },
+                "patch": {
+                  "description": "Updates a measurement protocol secret.",
+                  "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
+                  "httpMethod": "PATCH",
+                  "id": "analyticsadmin.properties.webDataStreams.measurementProtocolSecrets.patch",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
+                      "location": "path",
+                      "pattern": "^properties/[^/]+/webDataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    },
+                    "updateMask": {
+                      "description": "The list of fields to be updated. Omitted fields will not be updated.",
+                      "format": "google-fieldmask",
+                      "location": "query",
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1alpha/{+name}",
+                  "request": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "response": {
+                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/analytics.edit"
+                  ]
+                }
+              }
+            }
           }
         }
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://analyticsadmin.googleapis.com/",
   "schemas": {
     "GoogleAnalyticsAdminV1alphaAccount": {
@@ -2601,10 +3129,18 @@
           "$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink",
           "description": "A snapshot of a GoogleAdsLink resource in change history."
         },
+        "googleSignalsSettings": {
+          "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings",
+          "description": "A snapshot of a GoogleSignalsSettings resource in change history."
+        },
         "iosAppDataStream": {
           "$ref": "GoogleAnalyticsAdminV1alphaIosAppDataStream",
           "description": "A snapshot of an IosAppDataStream resource in change history."
         },
+        "measurementProtocolSecret": {
+          "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret",
+          "description": "A snapshot of a MeasurementProtocolSecret resource in change history."
+        },
         "property": {
           "$ref": "GoogleAnalyticsAdminV1alphaProperty",
           "description": "A snapshot of a Property resource in change history."
@@ -3016,6 +3552,47 @@
       },
       "type": "object"
     },
+    "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings": {
+      "description": "Settings values for Google Signals. This is a singleton resource.",
+      "id": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings",
+      "properties": {
+        "consent": {
+          "description": "Output only. Terms of Service acceptance.",
+          "enum": [
+            "GOOGLE_SIGNALS_CONSENT_UNSPECIFIED",
+            "GOOGLE_SIGNALS_CONSENT_CONSENTED",
+            "GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED"
+          ],
+          "enumDescriptions": [
+            "Google Signals consent value defaults to GOOGLE_SIGNALS_CONSENT_UNSPECIFIED. This will be treated as GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED.",
+            "Terms of service have been accepted",
+            "Terms of service have not been accepted"
+          ],
+          "readOnly": true,
+          "type": "string"
+        },
+        "name": {
+          "description": "Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: \"properties/1000/googleSignalsSettings\"",
+          "readOnly": true,
+          "type": "string"
+        },
+        "state": {
+          "description": "Status of this setting.",
+          "enum": [
+            "GOOGLE_SIGNALS_STATE_UNSPECIFIED",
+            "GOOGLE_SIGNALS_ENABLED",
+            "GOOGLE_SIGNALS_DISABLED"
+          ],
+          "enumDescriptions": [
+            "Google Signals status defaults to GOOGLE_SIGNALS_STATE_UNSPECIFIED to represent that the user has not made an explicit choice.",
+            "Google Signals is enabled.",
+            "Google Signals is disabled."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleAnalyticsAdminV1alphaIosAppDataStream": {
       "description": "A resource message representing a Google Analytics IOS app stream.",
       "id": "GoogleAnalyticsAdminV1alphaIosAppDataStream",
@@ -3215,6 +3792,24 @@
       },
       "type": "object"
     },
+    "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse": {
+      "description": "Response message for ListMeasurementProtocolSecret RPC",
+      "id": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse",
+      "properties": {
+        "measurementProtocolSecrets": {
+          "description": "A list of secrets for the parent stream specified in the request.",
+          "items": {
+            "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
+          },
+          "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"
+    },
     "GoogleAnalyticsAdminV1alphaListPropertiesResponse": {
       "description": "Response message for ListProperties RPC.",
       "id": "GoogleAnalyticsAdminV1alphaListPropertiesResponse",
@@ -3269,6 +3864,27 @@
       },
       "type": "object"
     },
+    "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret": {
+      "description": "A secret value used for sending hits to Measurement Protocol.",
+      "id": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret",
+      "properties": {
+        "displayName": {
+          "description": "Required. Human-readable display name for this secret.",
+          "type": "string"
+        },
+        "name": {
+          "description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
+          "readOnly": true,
+          "type": "string"
+        },
+        "secretValue": {
+          "description": "Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret's parent property.",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleAnalyticsAdminV1alphaProperty": {
       "description": "A resource message representing a Google Analytics GA4 property.",
       "id": "GoogleAnalyticsAdminV1alphaProperty",
@@ -3489,7 +4105,9 @@
               "IOS_APP_DATA_STREAM",
               "FIREBASE_LINK",
               "GOOGLE_ADS_LINK",
+              "GOOGLE_SIGNALS_SETTINGS",
               "CONVERSION_EVENT",
+              "MEASUREMENT_PROTOCOL_SECRET",
               "CUSTOM_DIMENSION",
               "CUSTOM_METRIC"
             ],
@@ -3502,7 +4120,9 @@
               "IosAppDataStream resource",
               "FirebaseLink resource",
               "GoogleAdsLink resource",
+              "GoogleSignalsSettings resource",
               "ConversionEvent resource",
+              "MeasurementProtocolSecret resource",
               "CustomDimension resource",
               "CustomMetric resource"
             ],
diff --git a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
index 7fc308f..01c55f6 100644
--- a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
@@ -284,7 +284,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "rootUrl": "https://analyticsdata.googleapis.com/",
   "schemas": {
     "BatchRunPivotReportsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
index 9c62efe..e35cb4b 100644
--- a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
+++ b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
@@ -825,7 +825,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210517",
   "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 430a80a..e4f0ac7 100644
--- a/googleapiclient/discovery_cache/documents/androidenterprise.v1.json
+++ b/googleapiclient/discovery_cache/documents/androidenterprise.v1.json
@@ -2610,7 +2610,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210513",
   "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 8d96205..319400c 100644
--- a/googleapiclient/discovery_cache/documents/androidmanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/androidmanagement.v1.json
@@ -1004,7 +1004,7 @@
       }
     }
   },
-  "revision": "20210426",
+  "revision": "20210510",
   "rootUrl": "https://androidmanagement.googleapis.com/",
   "schemas": {
     "AdvancedSecurityOverrides": {
@@ -4240,7 +4240,8 @@
               "PRIVATE_APPS",
               "WEB_APPS",
               "STORE_BUILDER",
-              "MANAGED_CONFIGURATIONS"
+              "MANAGED_CONFIGURATIONS",
+              "ZERO_TOUCH_CUSTOMER_MANAGEMENT"
             ],
             "enumDescriptions": [
               "Unspecified feature.",
@@ -4248,7 +4249,8 @@
               "The private apps page (https://developers.google.com/android/management/apps#private-apps).",
               "The Web Apps page (https://developers.google.com/android/management/apps#web-apps).",
               "The organize apps page (https://developers.google.com/android/management/apps#organize-apps).",
-              "The managed configurations page (https://developers.google.com/android/management/managed-configurations-iframe)."
+              "The managed configurations page (https://developers.google.com/android/management/managed-configurations-iframe).",
+              "The zero-touch iframe (https://developers.google.com/android/management/zero-touch-iframe)."
             ],
             "type": "string"
           },
diff --git a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
index 8fcfdcf..ead3db6 100644
--- a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
+++ b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
@@ -2676,7 +2676,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210519",
   "rootUrl": "https://androidpublisher.googleapis.com/",
   "schemas": {
     "Apk": {
diff --git a/googleapiclient/discovery_cache/documents/apigateway.v1beta.json b/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
index dc40d5b..7066885 100644
--- a/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
@@ -1083,7 +1083,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://apigateway.googleapis.com/",
   "schemas": {
     "ApigatewayApi": {
diff --git a/googleapiclient/discovery_cache/documents/apigee.v1.json b/googleapiclient/discovery_cache/documents/apigee.v1.json
index e2c6ffc..7428c12 100644
--- a/googleapiclient/discovery_cache/documents/apigee.v1.json
+++ b/googleapiclient/discovery_cache/documents/apigee.v1.json
@@ -6986,7 +6986,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210513",
   "rootUrl": "https://apigee.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
diff --git a/googleapiclient/discovery_cache/documents/apikeys.v2.json b/googleapiclient/discovery_cache/documents/apikeys.v2.json
index 680bf80..471a3e9 100644
--- a/googleapiclient/discovery_cache/documents/apikeys.v2.json
+++ b/googleapiclient/discovery_cache/documents/apikeys.v2.json
@@ -424,7 +424,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "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 ff099f4..20b35cf 100644
--- a/googleapiclient/discovery_cache/documents/appengine.v1.json
+++ b/googleapiclient/discovery_cache/documents/appengine.v1.json
@@ -1594,7 +1594,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "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 08e2638..e776f5f 100644
--- a/googleapiclient/discovery_cache/documents/appengine.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/appengine.v1alpha.json
@@ -708,7 +708,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "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 436ee98..3071221 100644
--- a/googleapiclient/discovery_cache/documents/appengine.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/appengine.v1beta.json
@@ -1594,7 +1594,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "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 4a4e053..4da0899 100644
--- a/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
@@ -586,7 +586,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210517",
   "rootUrl": "https://area120tables.googleapis.com/",
   "schemas": {
     "BatchCreateRowsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
index c56c924..6735c36 100644
--- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
+++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
@@ -351,7 +351,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://assuredworkloads.googleapis.com/",
   "schemas": {
     "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
index 98274b6..6b770b2 100644
--- a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
+++ b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
@@ -145,7 +145,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210517",
   "rootUrl": "https://baremetalsolution.googleapis.com/",
   "schemas": {
     "ResetInstanceRequest": {
diff --git a/googleapiclient/discovery_cache/documents/blogger.v2.json b/googleapiclient/discovery_cache/documents/blogger.v2.json
index ecca4e7..848b51c 100644
--- a/googleapiclient/discovery_cache/documents/blogger.v2.json
+++ b/googleapiclient/discovery_cache/documents/blogger.v2.json
@@ -401,7 +401,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://blogger.googleapis.com/",
   "schemas": {
     "Blog": {
diff --git a/googleapiclient/discovery_cache/documents/blogger.v3.json b/googleapiclient/discovery_cache/documents/blogger.v3.json
index 6fdcdbc..3cb096e 100644
--- a/googleapiclient/discovery_cache/documents/blogger.v3.json
+++ b/googleapiclient/discovery_cache/documents/blogger.v3.json
@@ -1678,7 +1678,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://blogger.googleapis.com/",
   "schemas": {
     "Blog": {
diff --git a/googleapiclient/discovery_cache/documents/books.v1.json b/googleapiclient/discovery_cache/documents/books.v1.json
index 7da409d..e57cc0c 100644
--- a/googleapiclient/discovery_cache/documents/books.v1.json
+++ b/googleapiclient/discovery_cache/documents/books.v1.json
@@ -2671,7 +2671,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210513",
   "rootUrl": "https://books.googleapis.com/",
   "schemas": {
     "Annotation": {
diff --git a/googleapiclient/discovery_cache/documents/calendar.v3.json b/googleapiclient/discovery_cache/documents/calendar.v3.json
index 098db65..bfacc7c 100644
--- a/googleapiclient/discovery_cache/documents/calendar.v3.json
+++ b/googleapiclient/discovery_cache/documents/calendar.v3.json
@@ -1723,7 +1723,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210518",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Acl": {
diff --git a/googleapiclient/discovery_cache/documents/chat.v1.json b/googleapiclient/discovery_cache/documents/chat.v1.json
index be9d896..043693d 100644
--- a/googleapiclient/discovery_cache/documents/chat.v1.json
+++ b/googleapiclient/discovery_cache/documents/chat.v1.json
@@ -601,7 +601,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210508",
   "rootUrl": "https://chat.googleapis.com/",
   "schemas": {
     "ActionParameter": {
diff --git a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
index 5bbccdb..4189f93 100644
--- a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
@@ -288,7 +288,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://chromemanagement.googleapis.com/",
   "schemas": {
     "GoogleChromeManagementV1BrowserVersion": {
diff --git a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
index 833001f..5fe1498 100644
--- a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
@@ -324,7 +324,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210517",
   "rootUrl": "https://chromepolicy.googleapis.com/",
   "schemas": {
     "GoogleChromePolicyV1AdditionalTargetKeyName": {
diff --git a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
index 2fa80f4..b2f788f 100644
--- a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
@@ -116,7 +116,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://chromeuxreport.googleapis.com/",
   "schemas": {
     "Bin": {
diff --git a/googleapiclient/discovery_cache/documents/classroom.v1.json b/googleapiclient/discovery_cache/documents/classroom.v1.json
index 34060f6..fd65be5 100644
--- a/googleapiclient/discovery_cache/documents/classroom.v1.json
+++ b/googleapiclient/discovery_cache/documents/classroom.v1.json
@@ -2400,7 +2400,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210517",
   "rootUrl": "https://classroom.googleapis.com/",
   "schemas": {
     "Announcement": {
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
index 7495691..ce53c31 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
@@ -819,7 +819,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210514",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
     "ArtifactObjects": {
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json
index 0315649..83a19d9 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json
@@ -306,7 +306,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210514",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
     "ArtifactObjects": {
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json
index 5f19e07..96d485e 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json
@@ -317,7 +317,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210514",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
     "ArtifactObjects": {
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json
index f1ddaae..7c5f630 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json
@@ -317,7 +317,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210514",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
     "ArtifactObjects": {
diff --git a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
index e7792ec..f29fc46 100644
--- a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
@@ -1533,7 +1533,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210514",
   "rootUrl": "https://cloudchannel.googleapis.com/",
   "schemas": {
     "GoogleCloudChannelV1ActivateEntitlementRequest": {
diff --git a/googleapiclient/discovery_cache/documents/clouddebugger.v2.json b/googleapiclient/discovery_cache/documents/clouddebugger.v2.json
index d4a1b82..40a0513 100644
--- a/googleapiclient/discovery_cache/documents/clouddebugger.v2.json
+++ b/googleapiclient/discovery_cache/documents/clouddebugger.v2.json
@@ -448,7 +448,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210514",
   "rootUrl": "https://clouddebugger.googleapis.com/",
   "schemas": {
     "AliasContext": {
diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
index 68a5d37..c912be3 100644
--- a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
@@ -546,7 +546,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 84a90ce..aa4fadc 100644
--- a/googleapiclient/discovery_cache/documents/cloudidentity.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudidentity.v1.json
@@ -1273,7 +1273,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210510",
   "rootUrl": "https://cloudidentity.googleapis.com/",
   "schemas": {
     "CheckTransitiveMembershipResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json
index 5455120..2c54cdb 100644
--- a/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json
@@ -1336,7 +1336,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210510",
   "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 ea6f328..18a4dd9 100644
--- a/googleapiclient/discovery_cache/documents/cloudiot.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudiot.v1.json
@@ -938,7 +938,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210510",
   "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 40d119c..6dfc8f4 100644
--- a/googleapiclient/discovery_cache/documents/cloudkms.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudkms.v1.json
@@ -1259,7 +1259,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210513",
   "rootUrl": "https://cloudkms.googleapis.com/",
   "schemas": {
     "AsymmetricDecryptRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
index f82d453..2a95475 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
@@ -1171,7 +1171,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210516",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "Ancestor": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
index 38fd5c4..5ab49da 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
@@ -566,7 +566,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210516",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "Ancestor": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json
index 6358a01..7c9c407 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json
@@ -450,7 +450,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210516",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json
index b509553..fc5f146 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json
@@ -450,7 +450,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210516",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
index d524ee6..1681274 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
@@ -1612,7 +1612,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210516",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudsearch.v1.json b/googleapiclient/discovery_cache/documents/cloudsearch.v1.json
index 08b47d9..c5404d3 100644
--- a/googleapiclient/discovery_cache/documents/cloudsearch.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudsearch.v1.json
@@ -1916,7 +1916,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210510",
   "rootUrl": "https://cloudsearch.googleapis.com/",
   "schemas": {
     "AuditLoggingSettings": {
diff --git a/googleapiclient/discovery_cache/documents/cloudshell.v1.json b/googleapiclient/discovery_cache/documents/cloudshell.v1.json
index 97f31ad..72eac64 100644
--- a/googleapiclient/discovery_cache/documents/cloudshell.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudshell.v1.json
@@ -374,7 +374,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "rootUrl": "https://cloudshell.googleapis.com/",
   "schemas": {
     "AddPublicKeyMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/container.v1.json b/googleapiclient/discovery_cache/documents/container.v1.json
index c3e1a7c..4611bde 100644
--- a/googleapiclient/discovery_cache/documents/container.v1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1.json
@@ -2459,7 +2459,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210504",
   "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 0d6f790..ebe7985 100644
--- a/googleapiclient/discovery_cache/documents/container.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1beta1.json
@@ -2484,7 +2484,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210429",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
diff --git a/googleapiclient/discovery_cache/documents/content.v2.json b/googleapiclient/discovery_cache/documents/content.v2.json
index a6a2993..d220b4f 100644
--- a/googleapiclient/discovery_cache/documents/content.v2.json
+++ b/googleapiclient/discovery_cache/documents/content.v2.json
@@ -3298,7 +3298,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210514",
   "rootUrl": "https://shoppingcontent.googleapis.com/",
   "schemas": {
     "Account": {
@@ -8554,7 +8554,7 @@
       "type": "object"
     },
     "Product": {
-      "description": " Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.",
+      "description": " Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.",
       "id": "Product",
       "properties": {
         "additionalImageLinks": {
diff --git a/googleapiclient/discovery_cache/documents/content.v21.json b/googleapiclient/discovery_cache/documents/content.v21.json
index cf257f4..cf0dac0 100644
--- a/googleapiclient/discovery_cache/documents/content.v21.json
+++ b/googleapiclient/discovery_cache/documents/content.v21.json
@@ -397,7 +397,7 @@
               "type": "string"
             },
             "maxResults": {
-              "description": "The maximum number of links to return in the response, used for pagination.",
+              "description": "The maximum number of links to return in the response, used for pagination. The minimum allowed value is 5 results per page. If provided value is lower than 5, it will be automatically increased to 5.",
               "format": "uint32",
               "location": "query",
               "type": "integer"
@@ -3937,6 +3937,47 @@
           "scopes": [
             "https://www.googleapis.com/auth/content"
           ]
+        },
+        "update": {
+          "description": "Updates an existing product in your Merchant Center account. Only updates attributes provided in the request.",
+          "flatPath": "{merchantId}/products/{productId}",
+          "httpMethod": "PATCH",
+          "id": "content.products.update",
+          "parameterOrder": [
+            "merchantId",
+            "productId"
+          ],
+          "parameters": {
+            "merchantId": {
+              "description": "The ID of the account that contains the product. This account cannot be a multi-client account.",
+              "format": "uint64",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "productId": {
+              "description": "The REST ID of the product for which to update.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "updateMask": {
+              "description": "The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged.",
+              "format": "google-fieldmask",
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "{merchantId}/products/{productId}",
+          "request": {
+            "$ref": "Product"
+          },
+          "response": {
+            "$ref": "Product"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/content"
+          ]
         }
       }
     },
@@ -5444,7 +5485,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210514",
   "rootUrl": "https://shoppingcontent.googleapis.com/",
   "schemas": {
     "Account": {
@@ -9522,7 +9563,7 @@
           "description": "The shipping fee of the order; this value should be set to zero in the case of free shipping."
         },
         "deliveryPostalCode": {
-          "description": "Required. The delivery postal code, as a continuous string without spaces or dashes, e.g. \"95016\".",
+          "description": "Required. The delivery postal code, as a continuous string without spaces or dashes, e.g. \"95016\". This field will be anonymized in returned OrderTrackingSignal creation response.",
           "type": "string"
         },
         "deliveryRegionCode": {
@@ -9546,7 +9587,7 @@
           "description": "Required. The time when the order was created on the merchant side. Include the year and timezone string, if available."
         },
         "orderId": {
-          "description": "Required. The ID of the order on the merchant side.",
+          "description": "Required. The ID of the order on the merchant side. This field will be hashed in returned OrderTrackingSignal creation response.",
           "type": "string"
         },
         "orderTrackingSignalId": {
@@ -9614,7 +9655,7 @@
           "type": "string"
         },
         "shipmentId": {
-          "description": "Required. The shipment ID.",
+          "description": "Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.",
           "type": "string"
         }
       },
@@ -9645,7 +9686,7 @@
           "description": "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."
         },
         "originPostalCode": {
-          "description": "The origin postal code, as a continuous string without spaces or dashes, e.g. \"95016\".",
+          "description": "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.",
           "type": "string"
         },
         "originRegionCode": {
@@ -9653,7 +9694,7 @@
           "type": "string"
         },
         "shipmentId": {
-          "description": "Required. The shipment ID.",
+          "description": "Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.",
           "type": "string"
         },
         "shippedTime": {
@@ -9908,7 +9949,11 @@
       "id": "OrderreturnsLineItem",
       "properties": {
         "lineItemId": {
-          "description": "The ID of the line item. This value is assigned by Google when an order is created.",
+          "description": "The ID of the line item. This value is assigned by Google when an order is created. Either lineItemId or productId is required.",
+          "type": "string"
+        },
+        "productId": {
+          "description": "The ID of the product to cancel. This is the REST ID used in the products service. Either lineItemId or productId is required.",
           "type": "string"
         },
         "quantity": {
@@ -11374,7 +11419,7 @@
       "type": "object"
     },
     "Product": {
-      "description": " Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.",
+      "description": " Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.",
       "id": "Product",
       "properties": {
         "additionalImageLinks": {
@@ -12115,7 +12160,7 @@
           "type": "string"
         },
         "method": {
-          "description": "The method of the batch entry. Acceptable values are: - \"`delete`\" - \"`get`\" - \"`insert`\" ",
+          "description": "The method of the batch entry. Acceptable values are: - \"`delete`\" - \"`get`\" - \"`insert`\" - \"`update`\" ",
           "type": "string"
         },
         "product": {
@@ -12125,6 +12170,11 @@
         "productId": {
           "description": "The ID of the product to get or delete. Only defined if the method is `get` or `delete`.",
           "type": "string"
+        },
+        "updateMask": {
+          "description": "The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged. Only defined if the method is `update`.",
+          "format": "google-fieldmask",
+          "type": "string"
         }
       },
       "type": "object"
@@ -12609,7 +12659,7 @@
         },
         "buyboxWinningProductStats": {
           "$ref": "RepricingProductReportBuyboxWinningProductStats",
-          "description": "Stats specific to buybox winning rules for product report."
+          "description": "Stats specific to buybox winning rules for product report (deprecated)."
         },
         "date": {
           "$ref": "Date",
@@ -12848,7 +12898,7 @@
       "properties": {
         "buyboxWinningRuleStats": {
           "$ref": "RepricingRuleReportBuyboxWinningRuleStats",
-          "description": "Stats specific to buybox winning rules for rule report."
+          "description": "Stats specific to buybox winning rules for rule report (deprecated)."
         },
         "date": {
           "$ref": "Date",
diff --git a/googleapiclient/discovery_cache/documents/customsearch.v1.json b/googleapiclient/discovery_cache/documents/customsearch.v1.json
index b0f5935..4f76e3b 100644
--- a/googleapiclient/discovery_cache/documents/customsearch.v1.json
+++ b/googleapiclient/discovery_cache/documents/customsearch.v1.json
@@ -674,7 +674,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210517",
   "rootUrl": "https://customsearch.googleapis.com/",
   "schemas": {
     "Promotion": {
diff --git a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json
index 2793e90..83c6c76 100644
--- a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json
@@ -1808,7 +1808,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210510",
   "rootUrl": "https://datacatalog.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/dataproc.v1.json b/googleapiclient/discovery_cache/documents/dataproc.v1.json
index 8299764..6573b0c 100644
--- a/googleapiclient/discovery_cache/documents/dataproc.v1.json
+++ b/googleapiclient/discovery_cache/documents/dataproc.v1.json
@@ -2260,7 +2260,7 @@
       }
     }
   },
-  "revision": "20210421",
+  "revision": "20210507",
   "rootUrl": "https://dataproc.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -2387,7 +2387,7 @@
           "type": "string"
         },
         "doneTime": {
-          "description": "The time when the operation was finished.",
+          "description": "The time when the operation finished.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -2787,7 +2787,7 @@
       "type": "object"
     },
     "ConfidentialInstanceConfig": {
-      "description": "Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) NEXT ID: 2",
+      "description": "Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)",
       "id": "ConfidentialInstanceConfig",
       "properties": {
         "enableConfidentialCompute": {
@@ -2901,7 +2901,7 @@
       "properties": {
         "confidentialInstanceConfig": {
           "$ref": "ConfidentialInstanceConfig",
-          "description": "Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)"
+          "description": "Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)."
         },
         "internalIpOnly": {
           "description": "Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.",
diff --git a/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json b/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json
index f4a3532..6fd5a86 100644
--- a/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json
@@ -2291,7 +2291,7 @@
       }
     }
   },
-  "revision": "20210421",
+  "revision": "20210507",
   "rootUrl": "https://dataproc.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
index 1057094..e923331 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
@@ -1588,7 +1588,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210513",
   "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 9ac6702..680fb30 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
@@ -988,7 +988,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210513",
   "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 c078742..f054e43 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
@@ -1552,7 +1552,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210513",
   "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 bba583b..803de59 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v2.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v2.json
@@ -1021,7 +1021,7 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The agent to list all intents from. Format: `projects//agent`.",
+                          "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/agent/environments/[^/]+$",
                           "required": true,
@@ -1636,7 +1636,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The agent to list all intents from. Format: `projects//agent`.",
+                      "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/agent$",
                       "required": true,
@@ -4458,6 +4458,65 @@
                     }
                   },
                   "resources": {
+                    "intents": {
+                      "methods": {
+                        "list": {
+                          "description": "Returns the list of all intents in the specified agent.",
+                          "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}/intents",
+                          "httpMethod": "GET",
+                          "id": "dialogflow.projects.locations.agent.environments.intents.list",
+                          "parameterOrder": [
+                            "parent"
+                          ],
+                          "parameters": {
+                            "intentView": {
+                              "description": "Optional. The resource view to apply to the returned intent.",
+                              "enum": [
+                                "INTENT_VIEW_UNSPECIFIED",
+                                "INTENT_VIEW_FULL"
+                              ],
+                              "enumDescriptions": [
+                                "Training phrases field is not populated in the response.",
+                                "All fields are populated."
+                              ],
+                              "location": "query",
+                              "type": "string"
+                            },
+                            "languageCode": {
+                              "description": "Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see [Multilingual intent and entity data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).",
+                              "location": "query",
+                              "type": "string"
+                            },
+                            "pageSize": {
+                              "description": "Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.",
+                              "format": "int32",
+                              "location": "query",
+                              "type": "integer"
+                            },
+                            "pageToken": {
+                              "description": "Optional. The next_page_token value returned from a previous list request.",
+                              "location": "query",
+                              "type": "string"
+                            },
+                            "parent": {
+                              "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.",
+                              "location": "path",
+                              "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$",
+                              "required": true,
+                              "type": "string"
+                            }
+                          },
+                          "path": "v2/{+parent}/intents",
+                          "response": {
+                            "$ref": "GoogleCloudDialogflowV2ListIntentsResponse"
+                          },
+                          "scopes": [
+                            "https://www.googleapis.com/auth/cloud-platform",
+                            "https://www.googleapis.com/auth/dialogflow"
+                          ]
+                        }
+                      }
+                    },
                     "users": {
                       "resources": {
                         "sessions": {
@@ -5055,7 +5114,7 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The agent to list all intents from. Format: `projects//agent`.",
+                          "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/agent$",
                           "required": true,
@@ -6856,7 +6915,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -10227,7 +10286,7 @@
       "properties": {
         "detectIntentResponse": {
           "$ref": "GoogleCloudDialogflowV2DetectIntentResponse",
-          "description": "Response of the Dialogflow Sessions.DetectIntent call."
+          "description": "Required. Response of the Dialogflow Sessions.DetectIntent call."
         }
       },
       "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
index d7d4a38..818ea19 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
@@ -1021,7 +1021,7 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The agent to list all intents from. Format: `projects//agent`.",
+                          "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/agent/environments/[^/]+$",
                           "required": true,
@@ -1636,7 +1636,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The agent to list all intents from. Format: `projects//agent`.",
+                      "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/agent$",
                       "required": true,
@@ -4667,6 +4667,65 @@
                     }
                   },
                   "resources": {
+                    "intents": {
+                      "methods": {
+                        "list": {
+                          "description": "Returns the list of all intents in the specified agent.",
+                          "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}/intents",
+                          "httpMethod": "GET",
+                          "id": "dialogflow.projects.locations.agent.environments.intents.list",
+                          "parameterOrder": [
+                            "parent"
+                          ],
+                          "parameters": {
+                            "intentView": {
+                              "description": "Optional. The resource view to apply to the returned intent.",
+                              "enum": [
+                                "INTENT_VIEW_UNSPECIFIED",
+                                "INTENT_VIEW_FULL"
+                              ],
+                              "enumDescriptions": [
+                                "Training phrases field is not populated in the response.",
+                                "All fields are populated."
+                              ],
+                              "location": "query",
+                              "type": "string"
+                            },
+                            "languageCode": {
+                              "description": "Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see [Multilingual intent and entity data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).",
+                              "location": "query",
+                              "type": "string"
+                            },
+                            "pageSize": {
+                              "description": "Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.",
+                              "format": "int32",
+                              "location": "query",
+                              "type": "integer"
+                            },
+                            "pageToken": {
+                              "description": "Optional. The next_page_token value returned from a previous list request.",
+                              "location": "query",
+                              "type": "string"
+                            },
+                            "parent": {
+                              "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.",
+                              "location": "path",
+                              "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$",
+                              "required": true,
+                              "type": "string"
+                            }
+                          },
+                          "path": "v2beta1/{+parent}/intents",
+                          "response": {
+                            "$ref": "GoogleCloudDialogflowV2beta1ListIntentsResponse"
+                          },
+                          "scopes": [
+                            "https://www.googleapis.com/auth/cloud-platform",
+                            "https://www.googleapis.com/auth/dialogflow"
+                          ]
+                        }
+                      }
+                    },
                     "users": {
                       "resources": {
                         "sessions": {
@@ -5264,7 +5323,7 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The agent to list all intents from. Format: `projects//agent`.",
+                          "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/agent$",
                           "required": true,
@@ -7188,7 +7247,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -12210,7 +12269,7 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "The collection of current Dialogflow CX agent session parameters at the time of this response.",
+          "description": "The collection of current Dialogflow CX agent session parameters at the time of this response. Deprecated: Use `parameters` instead.",
           "type": "object"
         },
         "detectIntentResponse": {
@@ -12225,6 +12284,19 @@
           "description": "Name of the intent if an intent is matched for the query. For a V2 query, the value format is `projects//locations/ /agent/intents/`. For a V3 query, the value format is `projects//locations/ /agents//intents/`.",
           "type": "string"
         },
+        "matchConfidence": {
+          "description": "The confidence of the match. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). This value is for informational purpose only and is only used to help match the best intent within the classification threshold. This value may change for the same end-user expression at any time due to a model retraining or change in implementation.",
+          "format": "float",
+          "type": "number"
+        },
+        "parameters": {
+          "additionalProperties": {
+            "description": "Properties of the object.",
+            "type": "any"
+          },
+          "description": "The collection of current parameters at the time of this response.",
+          "type": "object"
+        },
         "responseMessages": {
           "description": "Response messages from the automated agent.",
           "items": {
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3.json b/googleapiclient/discovery_cache/documents/dialogflow.v3.json
index e2ec71d..aa6f460 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v3.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v3.json
@@ -3483,7 +3483,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3Agent": {
@@ -5608,7 +5608,7 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter's entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter's entity type is a composite entity: map from composite entity property names to property values - Else: parameter value",
+          "description": "Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter's entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter's entity type is a composite entity: map from composite entity property names to property values - Else: parameter value",
           "type": "object"
         },
         "payload": {
@@ -6009,14 +6009,14 @@
             ],
             "enumDescriptions": [
               "Unspecified. Do not use.",
-              "Dialogflow history. This does not include Stackdriver log, which is owned by the user not Dialogflow."
+              "Dialogflow history. This does not include Cloud logging, which is owned by the user - not Dialogflow."
             ],
             "type": "string"
           },
           "type": "array"
         },
         "redactionScope": {
-          "description": "Defines on what data we apply redaction. Note that we don't redact data to which we don't have access, e.g., Stackdriver logs.",
+          "description": "Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to \u2013 for example, Cloud logging.",
           "enum": [
             "REDACTION_SCOPE_UNSPECIFIED",
             "REDACT_DISK_STORAGE"
@@ -6040,7 +6040,7 @@
           "type": "string"
         },
         "retentionWindowDays": {
-          "description": "Retains the data for the specified number of days. User must Set a value lower than Dialogflow's default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow's default TTL.",
+          "description": "Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow's default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow's default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.",
           "format": "int32",
           "type": "integer"
         }
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
index 9a23e45..33ba216 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
@@ -3483,7 +3483,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -7109,7 +7109,7 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter's entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter's entity type is a composite entity: map from composite entity property names to property values - Else: parameter value",
+          "description": "Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. You can reference the session parameters in the agent with the following format: $session.params.parameter-id. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter's entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter's entity type is a composite entity: map from composite entity property names to property values - Else: parameter value",
           "type": "object"
         },
         "payload": {
@@ -7510,14 +7510,14 @@
             ],
             "enumDescriptions": [
               "Unspecified. Do not use.",
-              "Dialogflow history. This does not include Stackdriver log, which is owned by the user not Dialogflow."
+              "Dialogflow history. This does not include Cloud logging, which is owned by the user - not Dialogflow."
             ],
             "type": "string"
           },
           "type": "array"
         },
         "redactionScope": {
-          "description": "Defines on what data we apply redaction. Note that we don't redact data to which we don't have access, e.g., Stackdriver logs.",
+          "description": "Defines the data for which Dialogflow applies redaction. Dialogflow does not redact data that it does not have access to \u2013 for example, Cloud logging.",
           "enum": [
             "REDACTION_SCOPE_UNSPECIFIED",
             "REDACT_DISK_STORAGE"
@@ -7541,7 +7541,7 @@
           "type": "string"
         },
         "retentionWindowDays": {
-          "description": "Retains the data for the specified number of days. User must Set a value lower than Dialogflow's default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow's default TTL.",
+          "description": "Retains data in interaction logging for the specified number of days. This does not apply to Cloud logging, which is owned by the user - not Dialogflow. User must Set a value lower than Dialogflow's default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow's default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.",
           "format": "int32",
           "type": "integer"
         }
diff --git a/googleapiclient/discovery_cache/documents/dlp.v2.json b/googleapiclient/discovery_cache/documents/dlp.v2.json
index 102abc8..d7f4c5e 100644
--- a/googleapiclient/discovery_cache/documents/dlp.v2.json
+++ b/googleapiclient/discovery_cache/documents/dlp.v2.json
@@ -3367,7 +3367,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "rootUrl": "https://dlp.googleapis.com/",
   "schemas": {
     "GooglePrivacyDlpV2Action": {
diff --git a/googleapiclient/discovery_cache/documents/docs.v1.json b/googleapiclient/discovery_cache/documents/docs.v1.json
index 96762d8..a1983b7 100644
--- a/googleapiclient/discovery_cache/documents/docs.v1.json
+++ b/googleapiclient/discovery_cache/documents/docs.v1.json
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210513",
   "rootUrl": "https://docs.googleapis.com/",
   "schemas": {
     "AutoText": {
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1.json b/googleapiclient/discovery_cache/documents/documentai.v1.json
index 48ffd6e..2680bd3 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1.json
@@ -601,7 +601,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210513",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1beta2.json b/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
index 7a61a5b..07fda1d 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
@@ -292,7 +292,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210513",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1beta3.json b/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
index a0ed93d..8d84d8c 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
@@ -535,7 +535,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210513",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
index b52f688..75f19ce 100644
--- a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
+++ b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
@@ -289,7 +289,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210519",
   "rootUrl": "https://domainsrdap.googleapis.com/",
   "schemas": {
     "HttpBody": {
diff --git a/googleapiclient/discovery_cache/documents/drive.v2.json b/googleapiclient/discovery_cache/documents/drive.v2.json
index d6c5fae..c77cde4 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/xWq4REeLMQgpY35RBRyMF_22olo\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/zennBzBE1meCOvZxW4ZeXv3FLco\"",
   "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"
@@ -3527,7 +3527,7 @@
       }
     }
   },
-  "revision": "20210509",
+  "revision": "20210516",
   "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 bd263fc..26ac7b0 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/Feg8gV_ME3xYqXxzychzT-zuDJk\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/flD37epa4K_hC-bv7s4sOJoeJlI\"",
   "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"
@@ -2191,7 +2191,7 @@
       }
     }
   },
-  "revision": "20210509",
+  "revision": "20210516",
   "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 2bf0e8f..7180a29 100644
--- a/googleapiclient/discovery_cache/documents/driveactivity.v2.json
+++ b/googleapiclient/discovery_cache/documents/driveactivity.v2.json
@@ -132,7 +132,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210514",
   "rootUrl": "https://driveactivity.googleapis.com/",
   "schemas": {
     "Action": {
diff --git a/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json b/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
index 15c3f45..a139bec 100644
--- a/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
+++ b/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
@@ -850,7 +850,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://essentialcontacts.googleapis.com/",
   "schemas": {
     "GoogleCloudEssentialcontactsV1ComputeContactsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
index 3d4be8a..d5e5903 100644
--- a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
@@ -304,7 +304,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://factchecktools.googleapis.com/",
   "schemas": {
     "GoogleFactcheckingFactchecktoolsV1alpha1Claim": {
diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v1.json b/googleapiclient/discovery_cache/documents/firebaseml.v1.json
index ec97e14..ad48483 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v1.json
@@ -204,7 +204,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "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 8b6614f..5fa2e0d 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
@@ -318,7 +318,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "rootUrl": "https://firebaseml.googleapis.com/",
   "schemas": {
     "DownloadModelResponse": {
diff --git a/googleapiclient/discovery_cache/documents/fitness.v1.json b/googleapiclient/discovery_cache/documents/fitness.v1.json
index ee44320..4bf2586 100644
--- a/googleapiclient/discovery_cache/documents/fitness.v1.json
+++ b/googleapiclient/discovery_cache/documents/fitness.v1.json
@@ -831,7 +831,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "rootUrl": "https://fitness.googleapis.com/",
   "schemas": {
     "AggregateBucket": {
diff --git a/googleapiclient/discovery_cache/documents/games.v1.json b/googleapiclient/discovery_cache/documents/games.v1.json
index 634fd4c..e3fac71 100644
--- a/googleapiclient/discovery_cache/documents/games.v1.json
+++ b/googleapiclient/discovery_cache/documents/games.v1.json
@@ -1224,7 +1224,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 10e72bf..c826d96 100644
--- a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
+++ b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
@@ -439,7 +439,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 5b309f6..af5acab 100644
--- a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
+++ b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
@@ -471,7 +471,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://gamesmanagement.googleapis.com/",
   "schemas": {
     "AchievementResetAllResponse": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
index ebf1294..b1d653d 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
@@ -670,7 +670,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210512",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gmail.v1.json b/googleapiclient/discovery_cache/documents/gmail.v1.json
index ad693a5..2fdb5bd 100644
--- a/googleapiclient/discovery_cache/documents/gmail.v1.json
+++ b/googleapiclient/discovery_cache/documents/gmail.v1.json
@@ -2682,7 +2682,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "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 3df9a22..3ec69d0 100644
--- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
+++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
@@ -265,7 +265,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "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 3bf5e04..9af20c4 100644
--- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
@@ -265,7 +265,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "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 eddd223..f43d300 100644
--- a/googleapiclient/discovery_cache/documents/groupsmigration.v1.json
+++ b/googleapiclient/discovery_cache/documents/groupsmigration.v1.json
@@ -146,7 +146,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210513",
   "rootUrl": "https://groupsmigration.googleapis.com/",
   "schemas": {
     "Groups": {
diff --git a/googleapiclient/discovery_cache/documents/groupssettings.v1.json b/googleapiclient/discovery_cache/documents/groupssettings.v1.json
index 3c3490d..1fc50d6 100644
--- a/googleapiclient/discovery_cache/documents/groupssettings.v1.json
+++ b/googleapiclient/discovery_cache/documents/groupssettings.v1.json
@@ -152,7 +152,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Groups": {
diff --git a/googleapiclient/discovery_cache/documents/iap.v1.json b/googleapiclient/discovery_cache/documents/iap.v1.json
index 144c0d7..2ba7c07 100644
--- a/googleapiclient/discovery_cache/documents/iap.v1.json
+++ b/googleapiclient/discovery_cache/documents/iap.v1.json
@@ -487,7 +487,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210513",
   "rootUrl": "https://iap.googleapis.com/",
   "schemas": {
     "AccessDeniedPageSettings": {
diff --git a/googleapiclient/discovery_cache/documents/iap.v1beta1.json b/googleapiclient/discovery_cache/documents/iap.v1beta1.json
index a1846ee..d85b812 100644
--- a/googleapiclient/discovery_cache/documents/iap.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/iap.v1beta1.json
@@ -194,7 +194,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210513",
   "rootUrl": "https://iap.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/indexing.v3.json b/googleapiclient/discovery_cache/documents/indexing.v3.json
index 65057c0..dbe626a 100644
--- a/googleapiclient/discovery_cache/documents/indexing.v3.json
+++ b/googleapiclient/discovery_cache/documents/indexing.v3.json
@@ -149,7 +149,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210517",
   "rootUrl": "https://indexing.googleapis.com/",
   "schemas": {
     "PublishUrlNotificationResponse": {
diff --git a/googleapiclient/discovery_cache/documents/libraryagent.v1.json b/googleapiclient/discovery_cache/documents/libraryagent.v1.json
index c09e65a..d4d0c3e 100644
--- a/googleapiclient/discovery_cache/documents/libraryagent.v1.json
+++ b/googleapiclient/discovery_cache/documents/libraryagent.v1.json
@@ -279,7 +279,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "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 ef4c81a..d852dcb 100644
--- a/googleapiclient/discovery_cache/documents/licensing.v1.json
+++ b/googleapiclient/discovery_cache/documents/licensing.v1.json
@@ -400,7 +400,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210518",
   "rootUrl": "https://licensing.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/localservices.v1.json b/googleapiclient/discovery_cache/documents/localservices.v1.json
index a7d4cb8..ac2f7bb 100644
--- a/googleapiclient/discovery_cache/documents/localservices.v1.json
+++ b/googleapiclient/discovery_cache/documents/localservices.v1.json
@@ -250,7 +250,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://localservices.googleapis.com/",
   "schemas": {
     "GoogleAdsHomeservicesLocalservicesV1AccountReport": {
diff --git a/googleapiclient/discovery_cache/documents/manufacturers.v1.json b/googleapiclient/discovery_cache/documents/manufacturers.v1.json
index 86ef976..18f980f 100644
--- a/googleapiclient/discovery_cache/documents/manufacturers.v1.json
+++ b/googleapiclient/discovery_cache/documents/manufacturers.v1.json
@@ -287,7 +287,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://manufacturers.googleapis.com/",
   "schemas": {
     "Attributes": {
@@ -447,7 +447,10 @@
         },
         "sizeType": {
           "description": "The size type of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizetype.",
-          "type": "string"
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
         },
         "suggestedRetailPrice": {
           "$ref": "Price",
diff --git a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json
index f76f27f..cec6a75 100644
--- a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json
@@ -556,7 +556,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210517",
   "rootUrl": "https://memcache.googleapis.com/",
   "schemas": {
     "ApplyParametersRequest": {
@@ -767,7 +767,7 @@
           "description": "Optional. The MaintenanceSettings associated with instance."
         },
         "name": {
-          "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number and be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)",
+          "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)",
           "type": "string"
         },
         "producerMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
index 6461740..4b0080f 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
@@ -530,7 +530,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210518",
   "rootUrl": "https://mybusinessaccountmanagement.googleapis.com/",
   "schemas": {
     "AcceptInvitationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
index e31601d..afb19ab 100644
--- a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
@@ -194,7 +194,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210518",
   "rootUrl": "https://mybusinesslodging.googleapis.com/",
   "schemas": {
     "Accessibility": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
index aa95bf5..b2df77b 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
@@ -281,7 +281,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210518",
   "rootUrl": "https://mybusinessplaceactions.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json b/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json
index f734c0c..d08cd0e 100644
--- a/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json
@@ -591,7 +591,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://networkmanagement.googleapis.com/",
   "schemas": {
     "AbortInfo": {
diff --git a/googleapiclient/discovery_cache/documents/orgpolicy.v2.json b/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
index 08accc7..8ec4c47 100644
--- a/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
+++ b/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
@@ -751,7 +751,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://orgpolicy.googleapis.com/",
   "schemas": {
     "GoogleCloudOrgpolicyV2Constraint": {
diff --git a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
index 1a6e582..38fb455 100644
--- a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
+++ b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
@@ -366,7 +366,7 @@
       }
     }
   },
-  "revision": "20210514",
+  "revision": "20210518",
   "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 466c597..dd749d7 100644
--- a/googleapiclient/discovery_cache/documents/people.v1.json
+++ b/googleapiclient/discovery_cache/documents/people.v1.json
@@ -730,7 +730,7 @@
               "type": "string"
             },
             "resourceNames": {
-              "description": "Required. The resource names of the people to provide information about. It's repeatable. The URL query parameter should be resourceNames=<name1>&resourceNames=<name2>&... - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by [`people.connections.list`](/people/api/rest/v1/people.connections/list). You can include up to 50 resource names in one request.",
+              "description": "Required. The resource names of the people to provide information about. It's repeatable. The URL query parameter should be resourceNames=<name1>&resourceNames=<name2>&... - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by [`people.connections.list`](/people/api/rest/v1/people.connections/list). You can include up to 200 resource names in one request.",
               "location": "query",
               "repeated": true,
               "type": "string"
@@ -1154,7 +1154,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210518",
   "rootUrl": "https://people.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/playablelocations.v3.json b/googleapiclient/discovery_cache/documents/playablelocations.v3.json
index 958a207..c1c7a9f 100644
--- a/googleapiclient/discovery_cache/documents/playablelocations.v3.json
+++ b/googleapiclient/discovery_cache/documents/playablelocations.v3.json
@@ -146,7 +146,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210519",
   "rootUrl": "https://playablelocations.googleapis.com/",
   "schemas": {
     "GoogleMapsPlayablelocationsV3Impression": {
diff --git a/googleapiclient/discovery_cache/documents/playcustomapp.v1.json b/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
index f4382b3..2c51df7 100644
--- a/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
+++ b/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
@@ -158,7 +158,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210517",
   "rootUrl": "https://playcustomapp.googleapis.com/",
   "schemas": {
     "CustomApp": {
diff --git a/googleapiclient/discovery_cache/documents/policysimulator.v1.json b/googleapiclient/discovery_cache/documents/policysimulator.v1.json
index b033918..6d904ec 100644
--- a/googleapiclient/discovery_cache/documents/policysimulator.v1.json
+++ b/googleapiclient/discovery_cache/documents/policysimulator.v1.json
@@ -493,7 +493,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "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 61ddb91..1caf330 100644
--- a/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
@@ -493,7 +493,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "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 fe870e9..2ca9991 100644
--- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
+++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210514",
   "rootUrl": "https://policytroubleshooter.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicytroubleshooterV1AccessTuple": {
diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
index 2805422..9566565 100644
--- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210514",
   "rootUrl": "https://policytroubleshooter.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicytroubleshooterV1betaAccessTuple": {
diff --git a/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json b/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
index 3850fbb..1963a81 100644
--- a/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
@@ -2484,7 +2484,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210520",
   "rootUrl": "https://prod-tt-sasportal.googleapis.com/",
   "schemas": {
     "SasPortalAssignment": {
@@ -2598,6 +2598,14 @@
           "description": "The deployment's display name.",
           "type": "string"
         },
+        "frns": {
+          "description": "Output only. The FRNs copied from its direct parent.",
+          "items": {
+            "type": "string"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
         "name": {
           "description": "Output only. Resource name.",
           "readOnly": true,
diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1.json b/googleapiclient/discovery_cache/documents/pubsub.v1.json
index 7e6de39..20ceb9a 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1.json
@@ -1424,7 +1424,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
index 0e52236..33e3667 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
@@ -457,7 +457,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "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 469d64a..0ead130 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
@@ -724,7 +724,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
index f68ca10..5304620 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
@@ -1140,7 +1140,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210519",
   "rootUrl": "https://realtimebidding.googleapis.com/",
   "schemas": {
     "ActivatePretargetingConfigRequest": {
diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
index 7fb6385..4b77c1a 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
@@ -178,7 +178,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210519",
   "rootUrl": "https://realtimebidding.googleapis.com/",
   "schemas": {
     "BiddingFunction": {
@@ -203,7 +203,7 @@
           "enumDescriptions": [
             "Default value that should not be used.",
             "Bidding function that can be used by Authorized Buyers in the original TURTLEDOVE simulation. See The function takes in a Javascript object, `inputs`, that contains the following named fields: `openrtbContextualBidRequest` OR `googleContextualBidRequest`, `customContextualSignal`, `interestBasedBidData`, `interestGroupData`, `recentImpressionAges`, and returns the bid price CPM. Example: ``` /* Returns a bid price CPM. * * @param {Object} inputs an object with the * following named fields: * - openrtbContextualBidRequest * OR googleContextualBidRequest * - customContextualSignal * - interestBasedBidData * - interestGroupData * - recentImpressionAges */ function biddingFunction(inputs) { ... return inputs.interestBasedBidData.cpm * inputs.customContextualSignals.placementMultiplier; } ```",
-            "Buyer's interest group bidding function that can be used by Authorized Buyers in the FLEDGE simulation. See the FLEDGE explainer at https://github.com/WICG/turtledove/blob/main/FLEDGE.md#32-on-device-bidding. The function takes one argument, `inputs`, that contains an object with the following named fields of the form: ``` { \"interestGroup\" : [ { \"buyerCreativeId\": \"...\", # Ad creative ID \"adData\": { # any JSON of your choosing }, \"userBiddingSignals\": { . # any JSON of your choosing } } ], \"auctionSignals\": { \"url: # string, \"slotVisibility\": # enum value, \"slotDimensions\": [ { \"height\": # number value \"width\": # number value } ] }, \"perBuyerSignals\": { # Any JSON }, \"trustedBiddingSignals\": { # Any JSON }, \"browserSignals\": { \"recent_impression_ages_secs: [ # number ] } } ``` `interestGroup`: An object containing a list of `ad` objects, which contain the following named fields: - `buyerCreativeId`: The ad creative ID string. - `adData`: Any JSON value of the bidder's choosing to contain data associated with an ad provided in `BidResponse.ad.adslot.ad_data` for the Google Authorized Buyers protocol and `BidResponse.seatbid.bid.ext.ad_data` for the OpenRTB protocol. - `userBiddingSignals`: Any JSON value of the bidder's choosing containing interest group data that corresponds to user_bidding_signals (as in FLEDGE). This field will be populated from `BidResponse.interest_group_map.user_bidding_signals` for Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. `auctionSignals`: Contains data from the seller. It corresponds to the auction signals data described in the FLEDGE proposal. It is an object containing the following named fields: - `url`: The string URL of the page with parameters removed. - `slotVisibility`: Enum of one of the following potential values: - NO_DETECTION = 0 - ABOVE_THE_FOLD = 1 - BELOW_THE_FOLD = 2 - `slotDimensions`: A list of objects containing containing width and height pairs in `width` and `height` fields, respectively, from `BidRequest.adslot.width` and `BidRequest.adslot.height` for the Google Authorized Buyers protocol and `BidRequest.imp.banner.format.w` and `BidRequest.imp.banner.format.h` for the OpenRTB protocol. `perBuyerSignals`: The contextual signals from the bid response that are populated in `BidResponse.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the OpenRTB protocol. These signals can be of any JSON format of your choosing, however, the buyer's domain name must match between: - the interest group response in `BidResponse.interest_group_map.buyer_domain` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_map.buyer_domain` for the OpenRTB protocol. - the contextual response as a key to the map in `BidResponse.interest_group_bidding.interest_group_buyers` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_bidding.interest_group_buyers` for the OpenRTB protocol. In other words, there must be a match between the buyer domain of the contextual per_buyer_signals and the domain of an interest group. `trustedBiddingSignals`: The trusted bidding signals that corresponds to the trusted_bidding_signals in the FLEDGE proposal. It is provided in the interest group response as `BidResponse.interest_group_map.user_bidding_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. This field can be any JSON format of your choosing. `browserSignals`: An object of simulated browser-provider signals. It is an object with a single named field, `recent_impression_ages_secs`, that contains a list of estimated number value recent impression ages in seconds for a given interest group. The function returns the string creative ID of the selected ad, the bid price CPM, and (optionally) selected product IDs. Example: ``` function biddingFunction(inputs) { ... return { \"buyerCreativeId\": \"ad_creative_id_1\", \"bidPriceCpm\": 0.3, \"productIds\": [\"product_id_1\", \"product_id_2\", \"product_id_3\"] } } ```"
+            "Buyer's interest group bidding function that can be used by Authorized Buyers in the FLEDGE simulation. See the FLEDGE explainer at https://github.com/WICG/turtledove/blob/main/FLEDGE.md#32-on-device-bidding. The function takes one argument, `inputs`, that contains an object with the following named fields of the form: ``` { \"interestGroup\" : [ { \"buyerCreativeId\": \"...\", # Ad creative ID \"adData\": { # any JSON of your choosing }, \"userBiddingSignals\": { . # any JSON of your choosing } } ], \"auctionSignals\": { \"url: # string, \"slotVisibility\": # enum value, \"slotDimensions\": [ { \"height\": # number value \"width\": # number value } ] }, \"perBuyerSignals\": { # Any JSON }, \"trustedBiddingSignals\": { # Any JSON }, \"browserSignals\": { \"recent_impression_ages_secs: [ # number ] } } ``` `interestGroup`: An object containing a list of `ad` objects, which contain the following named fields: - `buyerCreativeId`: The ad creative ID string. - `adData`: Any JSON value of the bidder's choosing to contain data associated with an ad provided in `BidResponse.ad.adslot.ad_data` for the Google Authorized Buyers protocol and `BidResponse.seatbid.bid.ext.ad_data` for the OpenRTB protocol. - `userBiddingSignals`: Any JSON value of the bidder's choosing containing interest group data that corresponds to user_bidding_signals (as in FLEDGE). This field will be populated from `BidResponse.interest_group_map.user_bidding_signals` for Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. `auctionSignals`: Contains data from the seller. It corresponds to the auction signals data described in the FLEDGE proposal. It is an object containing the following named fields: - `url`: The string URL of the page with parameters removed. - `slotVisibility`: Enum of one of the following potential values: - NO_DETECTION = 0 - ABOVE_THE_FOLD = 1 - BELOW_THE_FOLD = 2 - `slotDimensions`: A list of objects containing containing width and height pairs in `width` and `height` fields, respectively, from `BidRequest.adslot.width` and `BidRequest.adslot.height` for the Google Authorized Buyers protocol and `BidRequest.imp.banner.format.w` and `BidRequest.imp.banner.format.h` for the OpenRTB protocol. `perBuyerSignals`: The contextual signals from the bid response that are populated in `BidResponse.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the OpenRTB protocol. These signals can be of any JSON format of your choosing, however, the buyer's domain name must match between: - the interest group response in `BidResponse.interest_group_map.buyer_domain` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_map.buyer_domain` for the OpenRTB protocol. - the contextual response as a key to the map in `BidResponse.interest_group_bidding.interest_group_buyers` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_bidding.interest_group_buyers` for the OpenRTB protocol. In other words, there must be a match between the buyer domain of the contextual per_buyer_signals and the domain of an interest group. `trustedBiddingSignals`: The trusted bidding signals that corresponds to the trusted_bidding_signals in the FLEDGE proposal. It is provided in the interest group response as `BidResponse.interest_group_map.user_bidding_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. This field can be any JSON format of your choosing. `browserSignals`: An object of simulated browser-provider signals. It is an object with a single named field, `recent_impression_ages_secs`, that contains a list of estimated number value recent impression ages in seconds for a given interest group. The function returns the string creative ID of the selected ad, the bid price CPM, and (optionally) selected product IDs. In addition, the bidding function may populate an optional string debug token that may be useful for remote debugging of a bidding function performing unexpectedly. This debug string is available in `BidResponseFeedback` (https://developers.google.com/authorized-buyers/rtb/realtime-bidding-guide#bidresponsefeedback-object) and BidFeedback (https://developers.google.com/authorized-buyers/rtb/openrtb-guide#bidfeedback), for the Google protocol and openRTB protocol respectively. Example: ``` function biddingFunction(inputs) { ... return { \"buyerCreativeId\": \"ad_creative_id_1\", \"bidPriceCpm\": 0.3, \"productIds\": [\"product_id_1\", \"product_id_2\", \"product_id_3\"] \"debugString\": \"Bidding function executed successfully!\" } } ```"
           ],
           "type": "string"
         }
diff --git a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
index e5b6043..8515eeb 100644
--- a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
+++ b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
@@ -309,7 +309,7 @@
               ]
             },
             "migrate": {
-              "description": "Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests will be billed as CreateAssessment calls.",
+              "description": "Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests are billed as CreateAssessment calls. You must be authenticated as one of the current owners of the reCAPTCHA Site Key, and your user must have the reCAPTCHA Enterprise Admin IAM role in the destination project.",
               "flatPath": "v1/projects/{projectsId}/keys/{keysId}:migrate",
               "httpMethod": "POST",
               "id": "recaptchaenterprise.projects.keys.migrate",
@@ -353,7 +353,7 @@
                   "type": "string"
                 },
                 "updateMask": {
-                  "description": "Optional. The mask to control which field of the key get updated. If the mask is not present, all fields will be updated.",
+                  "description": "Optional. The mask to control which fields of the key get updated. If the mask is not present, all fields will be updated.",
                   "format": "google-fieldmask",
                   "location": "query",
                   "type": "string"
@@ -375,7 +375,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "rootUrl": "https://recaptchaenterprise.googleapis.com/",
   "schemas": {
     "GoogleCloudRecaptchaenterpriseV1AndroidKeySettings": {
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1.json b/googleapiclient/discovery_cache/documents/recommender.v1.json
index e49059e..d341ede 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1.json
@@ -1178,7 +1178,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210514",
   "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 5b801d8..44895da 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
@@ -1178,7 +1178,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210514",
   "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 bbf28b9..a50098b 100644
--- a/googleapiclient/discovery_cache/documents/redis.v1.json
+++ b/googleapiclient/discovery_cache/documents/redis.v1.json
@@ -596,7 +596,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210511",
   "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 abc14da..51d902b 100644
--- a/googleapiclient/discovery_cache/documents/redis.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/redis.v1beta1.json
@@ -441,6 +441,34 @@
                     "https://www.googleapis.com/auth/cloud-platform"
                   ]
                 },
+                "rescheduleMaintenance": {
+                  "description": "Reschedule maintenance for a given instance in a given project and location.",
+                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rescheduleMaintenance",
+                  "httpMethod": "POST",
+                  "id": "redis.projects.locations.instances.rescheduleMaintenance",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. Redis instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region.",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1beta1/{+name}:rescheduleMaintenance",
+                  "request": {
+                    "$ref": "RescheduleMaintenanceRequest"
+                  },
+                  "response": {
+                    "$ref": "Operation"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
                 "upgrade": {
                   "description": "Upgrades Redis instance to the newer Redis version specified in the request.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade",
@@ -596,7 +624,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210511",
   "rootUrl": "https://redis.googleapis.com/",
   "schemas": {
     "Empty": {
@@ -800,6 +828,15 @@
           "description": "Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If alternative_location_id is also provided, it must be different from location_id.",
           "type": "string"
         },
+        "maintenancePolicy": {
+          "$ref": "MaintenancePolicy",
+          "description": "Optional. The maintenance policy for the instance. If not provided, maintenance events can be performed at any time."
+        },
+        "maintenanceSchedule": {
+          "$ref": "MaintenanceSchedule",
+          "description": "Output only. Date and time of upcoming maintenance events which have been scheduled.",
+          "readOnly": true
+        },
         "memorySizeGb": {
           "description": "Required. Redis memory size in GiB.",
           "format": "int32",
@@ -1012,6 +1049,65 @@
       },
       "type": "object"
     },
+    "MaintenancePolicy": {
+      "description": "Maintenance policy for an instance.",
+      "id": "MaintenancePolicy",
+      "properties": {
+        "createTime": {
+          "description": "Output only. The time when the policy was created.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "description": {
+          "description": "Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.",
+          "type": "string"
+        },
+        "updateTime": {
+          "description": "Output only. The time when the policy was last updated.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "weeklyMaintenanceWindow": {
+          "description": "Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.",
+          "items": {
+            "$ref": "WeeklyMaintenanceWindow"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "MaintenanceSchedule": {
+      "description": "Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated.",
+      "id": "MaintenanceSchedule",
+      "properties": {
+        "canReschedule": {
+          "description": "If the scheduled maintenance can be rescheduled, default is true.",
+          "type": "boolean"
+        },
+        "endTime": {
+          "description": "Output only. The end time of any upcoming scheduled maintenance for this instance.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "scheduleDeadlineTime": {
+          "description": "Output only. The time deadline any schedule start time cannot go beyond, including reschedule.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "startTime": {
+          "description": "Output only. The start time of any upcoming scheduled maintenance for this instance.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Operation": {
       "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "Operation",
@@ -1058,6 +1154,34 @@
       },
       "type": "object"
     },
+    "RescheduleMaintenanceRequest": {
+      "description": "Request for RescheduleMaintenance.",
+      "id": "RescheduleMaintenanceRequest",
+      "properties": {
+        "rescheduleType": {
+          "description": "Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.",
+          "enum": [
+            "RESCHEDULE_TYPE_UNSPECIFIED",
+            "IMMEDIATE",
+            "NEXT_AVAILABLE_WINDOW",
+            "SPECIFIC_TIME"
+          ],
+          "enumDescriptions": [
+            "Not set.",
+            "If the user wants to schedule the maintenance to happen now.",
+            "If the user wants to use the existing maintenance policy to find the next available window.",
+            "If the user wants to reschedule the maintenance to a specific time."
+          ],
+          "type": "string"
+        },
+        "scheduleTime": {
+          "description": "Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.",
+          "format": "google-datetime",
+          "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",
@@ -1085,6 +1209,33 @@
       },
       "type": "object"
     },
+    "TimeOfDay": {
+      "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.",
+      "id": "TimeOfDay",
+      "properties": {
+        "hours": {
+          "description": "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.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "minutes": {
+          "description": "Minutes of hour of day. Must be from 0 to 59.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "nanos": {
+          "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "seconds": {
+          "description": "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.",
+          "format": "int32",
+          "type": "integer"
+        }
+      },
+      "type": "object"
+    },
     "TlsCertificate": {
       "description": "TlsCertificate Resource",
       "id": "TlsCertificate",
@@ -1126,6 +1277,47 @@
         }
       },
       "type": "object"
+    },
+    "WeeklyMaintenanceWindow": {
+      "description": "Time window in which disruptive maintenance updates occur. Non-disruptive updates can occur inside or outside this window.",
+      "id": "WeeklyMaintenanceWindow",
+      "properties": {
+        "day": {
+          "description": "Required. The day of week that maintenance updates occur.",
+          "enum": [
+            "DAY_OF_WEEK_UNSPECIFIED",
+            "MONDAY",
+            "TUESDAY",
+            "WEDNESDAY",
+            "THURSDAY",
+            "FRIDAY",
+            "SATURDAY",
+            "SUNDAY"
+          ],
+          "enumDescriptions": [
+            "The day of the week is unspecified.",
+            "Monday",
+            "Tuesday",
+            "Wednesday",
+            "Thursday",
+            "Friday",
+            "Saturday",
+            "Sunday"
+          ],
+          "type": "string"
+        },
+        "duration": {
+          "description": "Output only. Duration of the maintenance window. The current window is fixed at 3 hours.",
+          "format": "google-duration",
+          "readOnly": true,
+          "type": "string"
+        },
+        "startTime": {
+          "$ref": "TimeOfDay",
+          "description": "Required. Start time of the window in UTC time."
+        }
+      },
+      "type": "object"
     }
   },
   "servicePath": "",
diff --git a/googleapiclient/discovery_cache/documents/remotebuildexecution.v1.json b/googleapiclient/discovery_cache/documents/remotebuildexecution.v1.json
index fbdbafd..1d81e11 100644
--- a/googleapiclient/discovery_cache/documents/remotebuildexecution.v1.json
+++ b/googleapiclient/discovery_cache/documents/remotebuildexecution.v1.json
@@ -307,7 +307,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210517",
   "rootUrl": "https://remotebuildexecution.googleapis.com/",
   "schemas": {
     "BuildBazelRemoteExecutionV2Action": {
@@ -1023,12 +1023,14 @@
           "enum": [
             "CONFIG_NONE",
             "CONFIG_MATCH",
-            "CONFIG_MISMATCH"
+            "CONFIG_MISMATCH",
+            "CONFIG_MISSING_CONTAINER"
           ],
           "enumDescriptions": [
             "Container Manager is disabled or not running for this execution.",
             "Container Manager is enabled and there was a matching container available for use during execution.",
-            "Container Manager is enabled, but there was no matching container available for execution."
+            "Container Manager is enabled, but there was no matching container available for execution.",
+            "Container Manager is enabled and we attempted to execute on a matching container, but the container was no longer running. The task was retried without an async container."
           ],
           "type": "string"
         },
@@ -1132,7 +1134,8 @@
             "DOCKER_TOO_MANY_SYMBOLIC_LINK_LEVELS",
             "LOCAL_CONTAINER_MANAGER_NOT_RUNNING",
             "DOCKER_IMAGE_VPCSC_PERMISSION_DENIED",
-            "WORKING_DIR_NOT_RELATIVE"
+            "WORKING_DIR_NOT_RELATIVE",
+            "DOCKER_MISSING_CONTAINER"
           ],
           "enumDescriptions": [
             "The command succeeded.",
@@ -1176,7 +1179,8 @@
             "Docker failed to create an overlay mount because of too many levels of symbolic links.",
             "The local Container Manager is not running.",
             "Docker failed because a request was denied by the organization's policy.",
-            "Working directory is not relative"
+            "Working directory is not relative",
+            "Docker cannot find the container specified in the command. This error is likely to only occur if an asynchronous container is not running when the command is run."
           ],
           "type": "string"
         },
@@ -1200,6 +1204,39 @@
         },
         "memoryUsage": {
           "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageStat"
+        },
+        "totalDiskIoStats": {
+          "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageIOStats"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleDevtoolsRemotebuildbotResourceUsageIOStats": {
+      "id": "GoogleDevtoolsRemotebuildbotResourceUsageIOStats",
+      "properties": {
+        "readBytesCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "readCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "readTimeMs": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "writeBytesCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "writeCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "writeTimeMs": {
+          "format": "uint64",
+          "type": "string"
         }
       },
       "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json b/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json
index 8a38a98..b580eaf 100644
--- a/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json
@@ -432,7 +432,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210517",
   "rootUrl": "https://admin-remotebuildexecution.googleapis.com/",
   "schemas": {
     "BuildBazelRemoteExecutionV2Action": {
@@ -1137,12 +1137,14 @@
           "enum": [
             "CONFIG_NONE",
             "CONFIG_MATCH",
-            "CONFIG_MISMATCH"
+            "CONFIG_MISMATCH",
+            "CONFIG_MISSING_CONTAINER"
           ],
           "enumDescriptions": [
             "Container Manager is disabled or not running for this execution.",
             "Container Manager is enabled and there was a matching container available for use during execution.",
-            "Container Manager is enabled, but there was no matching container available for execution."
+            "Container Manager is enabled, but there was no matching container available for execution.",
+            "Container Manager is enabled and we attempted to execute on a matching container, but the container was no longer running. The task was retried without an async container."
           ],
           "type": "string"
         },
@@ -1246,7 +1248,8 @@
             "DOCKER_TOO_MANY_SYMBOLIC_LINK_LEVELS",
             "LOCAL_CONTAINER_MANAGER_NOT_RUNNING",
             "DOCKER_IMAGE_VPCSC_PERMISSION_DENIED",
-            "WORKING_DIR_NOT_RELATIVE"
+            "WORKING_DIR_NOT_RELATIVE",
+            "DOCKER_MISSING_CONTAINER"
           ],
           "enumDescriptions": [
             "The command succeeded.",
@@ -1290,7 +1293,8 @@
             "Docker failed to create an overlay mount because of too many levels of symbolic links.",
             "The local Container Manager is not running.",
             "Docker failed because a request was denied by the organization's policy.",
-            "Working directory is not relative"
+            "Working directory is not relative",
+            "Docker cannot find the container specified in the command. This error is likely to only occur if an asynchronous container is not running when the command is run."
           ],
           "type": "string"
         },
@@ -1314,6 +1318,39 @@
         },
         "memoryUsage": {
           "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageStat"
+        },
+        "totalDiskIoStats": {
+          "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageIOStats"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleDevtoolsRemotebuildbotResourceUsageIOStats": {
+      "id": "GoogleDevtoolsRemotebuildbotResourceUsageIOStats",
+      "properties": {
+        "readBytesCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "readCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "readTimeMs": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "writeBytesCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "writeCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "writeTimeMs": {
+          "format": "uint64",
+          "type": "string"
         }
       },
       "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/remotebuildexecution.v2.json b/googleapiclient/discovery_cache/documents/remotebuildexecution.v2.json
index cccda00..31112f8 100644
--- a/googleapiclient/discovery_cache/documents/remotebuildexecution.v2.json
+++ b/googleapiclient/discovery_cache/documents/remotebuildexecution.v2.json
@@ -447,7 +447,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210517",
   "rootUrl": "https://remotebuildexecution.googleapis.com/",
   "schemas": {
     "BuildBazelRemoteExecutionV2Action": {
@@ -1573,12 +1573,14 @@
           "enum": [
             "CONFIG_NONE",
             "CONFIG_MATCH",
-            "CONFIG_MISMATCH"
+            "CONFIG_MISMATCH",
+            "CONFIG_MISSING_CONTAINER"
           ],
           "enumDescriptions": [
             "Container Manager is disabled or not running for this execution.",
             "Container Manager is enabled and there was a matching container available for use during execution.",
-            "Container Manager is enabled, but there was no matching container available for execution."
+            "Container Manager is enabled, but there was no matching container available for execution.",
+            "Container Manager is enabled and we attempted to execute on a matching container, but the container was no longer running. The task was retried without an async container."
           ],
           "type": "string"
         },
@@ -1682,7 +1684,8 @@
             "DOCKER_TOO_MANY_SYMBOLIC_LINK_LEVELS",
             "LOCAL_CONTAINER_MANAGER_NOT_RUNNING",
             "DOCKER_IMAGE_VPCSC_PERMISSION_DENIED",
-            "WORKING_DIR_NOT_RELATIVE"
+            "WORKING_DIR_NOT_RELATIVE",
+            "DOCKER_MISSING_CONTAINER"
           ],
           "enumDescriptions": [
             "The command succeeded.",
@@ -1726,7 +1729,8 @@
             "Docker failed to create an overlay mount because of too many levels of symbolic links.",
             "The local Container Manager is not running.",
             "Docker failed because a request was denied by the organization's policy.",
-            "Working directory is not relative"
+            "Working directory is not relative",
+            "Docker cannot find the container specified in the command. This error is likely to only occur if an asynchronous container is not running when the command is run."
           ],
           "type": "string"
         },
@@ -1750,6 +1754,39 @@
         },
         "memoryUsage": {
           "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageStat"
+        },
+        "totalDiskIoStats": {
+          "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageIOStats"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleDevtoolsRemotebuildbotResourceUsageIOStats": {
+      "id": "GoogleDevtoolsRemotebuildbotResourceUsageIOStats",
+      "properties": {
+        "readBytesCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "readCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "readTimeMs": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "writeBytesCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "writeCount": {
+          "format": "uint64",
+          "type": "string"
+        },
+        "writeTimeMs": {
+          "format": "uint64",
+          "type": "string"
         }
       },
       "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/reseller.v1.json b/googleapiclient/discovery_cache/documents/reseller.v1.json
index a48e611..0c011e8 100644
--- a/googleapiclient/discovery_cache/documents/reseller.v1.json
+++ b/googleapiclient/discovery_cache/documents/reseller.v1.json
@@ -631,7 +631,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210514",
   "rootUrl": "https://reseller.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
index c45e868..9153613 100644
--- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
+++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
@@ -210,7 +210,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "rootUrl": "https://runtimeconfig.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
index 17a8ed1..38ccab5 100644
--- a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
+++ b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
@@ -261,7 +261,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "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 e0c2b7e..25c067e 100644
--- a/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json
@@ -2483,7 +2483,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "rootUrl": "https://sasportal.googleapis.com/",
   "schemas": {
     "SasPortalAssignment": {
diff --git a/googleapiclient/discovery_cache/documents/searchconsole.v1.json b/googleapiclient/discovery_cache/documents/searchconsole.v1.json
index 54811e7..e94cd3b 100644
--- a/googleapiclient/discovery_cache/documents/searchconsole.v1.json
+++ b/googleapiclient/discovery_cache/documents/searchconsole.v1.json
@@ -373,7 +373,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "rootUrl": "https://searchconsole.googleapis.com/",
   "schemas": {
     "ApiDataRow": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
index f42e35c..9299287 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
@@ -1816,7 +1816,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210514",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Asset": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
index 046de61..aa58296 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
@@ -896,7 +896,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210514",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Asset": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
index 4b2cc45..a312f45 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
@@ -1328,7 +1328,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210514",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Config": {
diff --git a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
index d191b4f..90f323c 100644
--- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
@@ -542,7 +542,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "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 78de3fb..4952fe3 100644
--- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
@@ -500,7 +500,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "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 4dcba56..70eb7b4 100644
--- a/googleapiclient/discovery_cache/documents/servicecontrol.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicecontrol.v1.json
@@ -139,7 +139,7 @@
           ]
         },
         "check": {
-          "description": "Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the `Check` method having the latest policy information. NOTE: the CheckRequest has the size limit of 64KB. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam).",
+          "description": "Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the `Check` method having the latest policy information. NOTE: the CheckRequest has the size limit (wire-format byte size) of 1MB. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam).",
           "flatPath": "v1/services/{serviceName}:check",
           "httpMethod": "POST",
           "id": "servicecontrol.services.check",
@@ -197,7 +197,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210508",
   "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 a969ac9..06b11eb 100644
--- a/googleapiclient/discovery_cache/documents/servicecontrol.v2.json
+++ b/googleapiclient/discovery_cache/documents/servicecontrol.v2.json
@@ -169,7 +169,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210508",
   "rootUrl": "https://servicecontrol.googleapis.com/",
   "schemas": {
     "Api": {
diff --git a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
index 2494bae..3943c2a 100644
--- a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
@@ -860,7 +860,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "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 1698e14..c5e455c 100644
--- a/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
@@ -307,7 +307,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "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 0b08a55..7dc9b6e 100644
--- a/googleapiclient/discovery_cache/documents/serviceusage.v1.json
+++ b/googleapiclient/discovery_cache/documents/serviceusage.v1.json
@@ -426,7 +426,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "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 35eca95..bd606f4 100644
--- a/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
@@ -959,7 +959,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210517",
   "rootUrl": "https://serviceusage.googleapis.com/",
   "schemas": {
     "AdminQuotaPolicy": {
diff --git a/googleapiclient/discovery_cache/documents/slides.v1.json b/googleapiclient/discovery_cache/documents/slides.v1.json
index 4600900..f8859e1 100644
--- a/googleapiclient/discovery_cache/documents/slides.v1.json
+++ b/googleapiclient/discovery_cache/documents/slides.v1.json
@@ -313,7 +313,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://slides.googleapis.com/",
   "schemas": {
     "AffineTransform": {
diff --git a/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json b/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json
index ed9e648..d7d4f9d 100644
--- a/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json
+++ b/googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json
@@ -1834,7 +1834,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210511",
   "rootUrl": "https://sqladmin.googleapis.com/",
   "schemas": {
     "AclEntry": {
diff --git a/googleapiclient/discovery_cache/documents/storage.v1.json b/googleapiclient/discovery_cache/documents/storage.v1.json
index c52dd59..4468054 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": "\"3131333938303939323836373230303831373336\"",
+  "etag": "\"3131363235363635373036323232373137353639\"",
   "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"
@@ -3230,7 +3230,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210515",
   "rootUrl": "https://storage.googleapis.com/",
   "schemas": {
     "Bucket": {
diff --git a/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json b/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
index 1dc0a8b..e21cbdb 100644
--- a/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
+++ b/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
@@ -176,7 +176,7 @@
                 "INCLUDE_DOWNLOAD_URL"
               ],
               "enumDescriptions": [
-                "Server reponses do not include the download URL for the photo bytes. The default value.",
+                "Server responses do not include the download URL for the photo bytes. The default value.",
                 "Server responses include the download URL for the photo bytes."
               ],
               "location": "query",
@@ -289,7 +289,7 @@
                 "INCLUDE_DOWNLOAD_URL"
               ],
               "enumDescriptions": [
-                "Server reponses do not include the download URL for the photo bytes. The default value.",
+                "Server responses do not include the download URL for the photo bytes. The default value.",
                 "Server responses include the download URL for the photo bytes."
               ],
               "location": "query",
@@ -357,7 +357,7 @@
                 "INCLUDE_DOWNLOAD_URL"
               ],
               "enumDescriptions": [
-                "Server reponses do not include the download URL for the photo bytes. The default value.",
+                "Server responses do not include the download URL for the photo bytes. The default value.",
                 "Server responses include the download URL for the photo bytes."
               ],
               "location": "query",
@@ -375,7 +375,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://streetviewpublish.googleapis.com/",
   "schemas": {
     "BatchDeletePhotosRequest": {
diff --git a/googleapiclient/discovery_cache/documents/tagmanager.v1.json b/googleapiclient/discovery_cache/documents/tagmanager.v1.json
index 804ea61..31cd702 100644
--- a/googleapiclient/discovery_cache/documents/tagmanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/tagmanager.v1.json
@@ -1932,7 +1932,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "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 288b8a7..2d1f1ac 100644
--- a/googleapiclient/discovery_cache/documents/tagmanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/tagmanager.v2.json
@@ -3125,7 +3125,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "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 d41673d..818f2cc 100644
--- a/googleapiclient/discovery_cache/documents/tasks.v1.json
+++ b/googleapiclient/discovery_cache/documents/tasks.v1.json
@@ -566,7 +566,7 @@
       }
     }
   },
-  "revision": "20210511",
+  "revision": "20210517",
   "rootUrl": "https://tasks.googleapis.com/",
   "schemas": {
     "Task": {
diff --git a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
index bf96388..d318822 100644
--- a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
@@ -1463,7 +1463,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210517",
   "rootUrl": "https://toolresults.googleapis.com/",
   "schemas": {
     "ANR": {
diff --git a/googleapiclient/discovery_cache/documents/translate.v3.json b/googleapiclient/discovery_cache/documents/translate.v3.json
index 4bb396a..4b5a327 100644
--- a/googleapiclient/discovery_cache/documents/translate.v3.json
+++ b/googleapiclient/discovery_cache/documents/translate.v3.json
@@ -687,7 +687,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://translation.googleapis.com/",
   "schemas": {
     "BatchTranslateTextRequest": {
diff --git a/googleapiclient/discovery_cache/documents/translate.v3beta1.json b/googleapiclient/discovery_cache/documents/translate.v3beta1.json
index 5bc2c3f..cd3123d 100644
--- a/googleapiclient/discovery_cache/documents/translate.v3beta1.json
+++ b/googleapiclient/discovery_cache/documents/translate.v3beta1.json
@@ -744,7 +744,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://translation.googleapis.com/",
   "schemas": {
     "BatchDocumentInputConfig": {
diff --git a/googleapiclient/discovery_cache/documents/vectortile.v1.json b/googleapiclient/discovery_cache/documents/vectortile.v1.json
index 2375b08..276d64c 100644
--- a/googleapiclient/discovery_cache/documents/vectortile.v1.json
+++ b/googleapiclient/discovery_cache/documents/vectortile.v1.json
@@ -343,7 +343,7 @@
       }
     }
   },
-  "revision": "20210513",
+  "revision": "20210518",
   "rootUrl": "https://vectortile.googleapis.com/",
   "schemas": {
     "Area": {
diff --git a/googleapiclient/discovery_cache/documents/webrisk.v1.json b/googleapiclient/discovery_cache/documents/webrisk.v1.json
index e6258eb..f42605e 100644
--- a/googleapiclient/discovery_cache/documents/webrisk.v1.json
+++ b/googleapiclient/discovery_cache/documents/webrisk.v1.json
@@ -446,7 +446,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "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 9544f31..b174219 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "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 d24fd9e..4824dfb 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "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 a88acd6..8f0675c 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210514",
   "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 2f724bd..9e20e19 100644
--- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
+++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
@@ -269,7 +269,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210511",
   "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 97ded5f..74f5ecd 100644
--- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
@@ -269,7 +269,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210511",
   "rootUrl": "https://workflowexecutions.googleapis.com/",
   "schemas": {
     "CancelExecutionRequest": {
diff --git a/googleapiclient/discovery_cache/documents/youtube.v3.json b/googleapiclient/discovery_cache/documents/youtube.v3.json
index 4b02913..fa41902 100644
--- a/googleapiclient/discovery_cache/documents/youtube.v3.json
+++ b/googleapiclient/discovery_cache/documents/youtube.v3.json
@@ -3764,7 +3764,7 @@
       }
     }
   },
-  "revision": "20210512",
+  "revision": "20210518",
   "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 3024645..fc8853d 100644
--- a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
+++ b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
@@ -421,7 +421,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "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 d5bf4d5..638719e 100644
--- a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
+++ b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
@@ -411,7 +411,7 @@
       }
     }
   },
-  "revision": "20210510",
+  "revision": "20210517",
   "rootUrl": "https://youtubereporting.googleapis.com/",
   "schemas": {
     "Empty": {