diff --git a/docs/dyn/accessapproval_v1.folders.html b/docs/dyn/accessapproval_v1.folders.html
index 1a6402d..8833519 100644
--- a/docs/dyn/accessapproval_v1.folders.html
+++ b/docs/dyn/accessapproval_v1.folders.html
@@ -133,7 +133,7 @@
   &quot;enrolledAncestor&quot;: 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).
   &quot;enrolledServices&quot;: [ # 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.
-      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 * 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 * 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       &quot;enrollmentLevel&quot;: &quot;A String&quot;, # The enrollment level of the service.
     },
   ],
@@ -157,7 +157,7 @@
   &quot;enrolledAncestor&quot;: 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).
   &quot;enrolledServices&quot;: [ # 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.
-      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 * 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 * 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       &quot;enrollmentLevel&quot;: &quot;A String&quot;, # The enrollment level of the service.
     },
   ],
@@ -180,7 +180,7 @@
   &quot;enrolledAncestor&quot;: 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).
   &quot;enrolledServices&quot;: [ # 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.
-      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 * 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 * 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       &quot;enrollmentLevel&quot;: &quot;A String&quot;, # The enrollment level of the service.
     },
   ],
diff --git a/docs/dyn/accessapproval_v1.organizations.html b/docs/dyn/accessapproval_v1.organizations.html
index 89ed040..1a9b7c5 100644
--- a/docs/dyn/accessapproval_v1.organizations.html
+++ b/docs/dyn/accessapproval_v1.organizations.html
@@ -133,7 +133,7 @@
   &quot;enrolledAncestor&quot;: 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).
   &quot;enrolledServices&quot;: [ # 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.
-      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 * 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 * 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       &quot;enrollmentLevel&quot;: &quot;A String&quot;, # The enrollment level of the service.
     },
   ],
@@ -157,7 +157,7 @@
   &quot;enrolledAncestor&quot;: 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).
   &quot;enrolledServices&quot;: [ # 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.
-      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 * 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 * 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       &quot;enrollmentLevel&quot;: &quot;A String&quot;, # The enrollment level of the service.
     },
   ],
@@ -180,7 +180,7 @@
   &quot;enrolledAncestor&quot;: 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).
   &quot;enrolledServices&quot;: [ # 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.
-      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 * 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 * 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       &quot;enrollmentLevel&quot;: &quot;A String&quot;, # The enrollment level of the service.
     },
   ],
diff --git a/docs/dyn/accessapproval_v1.projects.html b/docs/dyn/accessapproval_v1.projects.html
index fbd0b40..e97a645 100644
--- a/docs/dyn/accessapproval_v1.projects.html
+++ b/docs/dyn/accessapproval_v1.projects.html
@@ -133,7 +133,7 @@
   &quot;enrolledAncestor&quot;: 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).
   &quot;enrolledServices&quot;: [ # 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.
-      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 * 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 * 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       &quot;enrollmentLevel&quot;: &quot;A String&quot;, # The enrollment level of the service.
     },
   ],
@@ -157,7 +157,7 @@
   &quot;enrolledAncestor&quot;: 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).
   &quot;enrolledServices&quot;: [ # 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.
-      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 * 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 * 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       &quot;enrollmentLevel&quot;: &quot;A String&quot;, # The enrollment level of the service.
     },
   ],
@@ -180,7 +180,7 @@
   &quot;enrolledAncestor&quot;: 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).
   &quot;enrolledServices&quot;: [ # 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.
-      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 * 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 * 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
+      &quot;cloudProduct&quot;: &quot;A String&quot;, # 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 &#x27;all&#x27; or any of the XXX.googleapis.com will be translated to the associated product name (&#x27;all&#x27;, &#x27;App Engine&#x27;, etc.). Note: &#x27;all&#x27; will enroll the resource in all products supported at both &#x27;GA&#x27; and &#x27;Preview&#x27; levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services
       &quot;enrollmentLevel&quot;: &quot;A String&quot;, # The enrollment level of the service.
     },
   ],
diff --git a/docs/dyn/cloudscheduler_v1.projects.locations.html b/docs/dyn/cloudscheduler_v1.projects.locations.html
index 57c0e13..6aaa7a3 100644
--- a/docs/dyn/cloudscheduler_v1.projects.locations.html
+++ b/docs/dyn/cloudscheduler_v1.projects.locations.html
@@ -131,7 +131,7 @@
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like &quot;displayName=tokyo&quot;, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
-  pageSize: integer, The maximum number of results to return. If not set, the service will select a default.
+  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/cloudscheduler_v1beta1.projects.locations.html b/docs/dyn/cloudscheduler_v1beta1.projects.locations.html
index 6bc70ec..ef53d75 100644
--- a/docs/dyn/cloudscheduler_v1beta1.projects.locations.html
+++ b/docs/dyn/cloudscheduler_v1beta1.projects.locations.html
@@ -131,7 +131,7 @@
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like &quot;displayName=tokyo&quot;, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
-  pageSize: integer, The maximum number of results to return. If not set, the service will select a default.
+  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.html b/docs/dyn/container_v1beta1.projects.locations.clusters.html
index e56e89d..d718301 100644
--- a/docs/dyn/container_v1beta1.projects.locations.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.locations.clusters.html
@@ -447,6 +447,7 @@
         { # AcceleratorConfig represents a Hardware Accelerator request.
           &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
           &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+          &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
         },
       ],
       &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -532,6 +533,7 @@
             { # AcceleratorConfig represents a Hardware Accelerator request.
               &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
               &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+              &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
             },
           ],
           &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1060,6 +1062,7 @@
       { # AcceleratorConfig represents a Hardware Accelerator request.
         &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
         &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+        &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
       },
     ],
     &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1145,6 +1148,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1576,6 +1580,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1661,6 +1666,7 @@
               { # AcceleratorConfig represents a Hardware Accelerator request.
                 &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
                 &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+                &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
               },
             ],
             &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html b/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html
index 2e2c4a7..602c07b 100644
--- a/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html
+++ b/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html
@@ -140,6 +140,7 @@
         { # AcceleratorConfig represents a Hardware Accelerator request.
           &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
           &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+          &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
         },
       ],
       &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -412,6 +413,7 @@
       { # AcceleratorConfig represents a Hardware Accelerator request.
         &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
         &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+        &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
       },
     ],
     &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -550,6 +552,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html
index c7cdea0..6ecbc67 100644
--- a/docs/dyn/container_v1beta1.projects.zones.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html
@@ -555,6 +555,7 @@
         { # AcceleratorConfig represents a Hardware Accelerator request.
           &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
           &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+          &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
         },
       ],
       &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -640,6 +641,7 @@
             { # AcceleratorConfig represents a Hardware Accelerator request.
               &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
               &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+              &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
             },
           ],
           &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1168,6 +1170,7 @@
       { # AcceleratorConfig represents a Hardware Accelerator request.
         &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
         &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+        &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
       },
     ],
     &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1253,6 +1256,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1728,6 +1732,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -1813,6 +1818,7 @@
               { # AcceleratorConfig represents a Hardware Accelerator request.
                 &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
                 &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+                &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
               },
             ],
             &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html b/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html
index f6cdb4e..f1c71c3 100644
--- a/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html
@@ -229,6 +229,7 @@
         { # AcceleratorConfig represents a Hardware Accelerator request.
           &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
           &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+          &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
         },
       ],
       &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -501,6 +502,7 @@
       { # AcceleratorConfig represents a Hardware Accelerator request.
         &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
         &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+        &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
       },
     ],
     &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
@@ -639,6 +641,7 @@
           { # AcceleratorConfig represents a Hardware Accelerator request.
             &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
             &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;gpuPartitionSize&quot;: &quot;A String&quot;, # Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
           },
         ],
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
diff --git a/docs/dyn/content_v2.shippingsettings.html b/docs/dyn/content_v2.shippingsettings.html
index 468e7d5..fcd7a7d 100644
--- a/docs/dyn/content_v2.shippingsettings.html
+++ b/docs/dyn/content_v2.shippingsettings.html
@@ -188,6 +188,17 @@
                   &quot;A String&quot;,
                 ],
               },
+              &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+                {
+                  &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+                  &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+                  &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+                  &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+                  &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+                  &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+                  &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address
+                },
+              ],
             },
             &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
             &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -490,6 +501,17 @@
                   &quot;A String&quot;,
                 ],
               },
+              &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+                {
+                  &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+                  &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+                  &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+                  &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+                  &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+                  &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+                  &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address
+                },
+              ],
             },
             &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
             &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -784,6 +806,17 @@
             &quot;A String&quot;,
           ],
         },
+        &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+          {
+            &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+            &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+            &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+            &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+            &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+            &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+            &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address
+          },
+        ],
       },
       &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
       &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -1011,8 +1044,11 @@
   &quot;carriers&quot;: [ # A list of supported carriers. May be empty.
     {
       &quot;country&quot;: &quot;A String&quot;, # The CLDR country code of the carrier (e.g., &quot;US&quot;). Always present.
+      &quot;eddServices&quot;: [ # A list of services supported for EDD (Estimated Delivery Date) calculation. This is the list of valid values for WarehouseBasedDeliveryTime.carrierService.
+        &quot;A String&quot;,
+      ],
       &quot;name&quot;: &quot;A String&quot;, # The name of the carrier (e.g., `&quot;UPS&quot;`). Always present.
-      &quot;services&quot;: [ # A list of supported services (e.g., `&quot;ground&quot;`) for that carrier. Contains at least one service.
+      &quot;services&quot;: [ # A list of supported services (e.g., `&quot;ground&quot;`) for that carrier. Contains at least one service. This is the list of valid values for CarrierRate.carrierService.
         &quot;A String&quot;,
       ],
     },
@@ -1162,6 +1198,17 @@
                 &quot;A String&quot;,
               ],
             },
+            &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+              {
+                &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+                &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+                &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+                &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+                &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+                &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+                &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address
+              },
+            ],
           },
           &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
           &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -1463,6 +1510,17 @@
             &quot;A String&quot;,
           ],
         },
+        &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+          {
+            &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+            &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+            &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+            &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+            &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+            &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+            &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address
+          },
+        ],
       },
       &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
       &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -1746,6 +1804,17 @@
             &quot;A String&quot;,
           ],
         },
+        &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+          {
+            &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+            &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+            &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+            &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+            &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+            &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+            &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address
+          },
+        ],
       },
       &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
       &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
diff --git a/docs/dyn/content_v2_1.accounts.html b/docs/dyn/content_v2_1.accounts.html
index 609872b..00e0365 100644
--- a/docs/dyn/content_v2_1.accounts.html
+++ b/docs/dyn/content_v2_1.accounts.html
@@ -593,9 +593,13 @@
 
 {
   &quot;action&quot;: &quot;A String&quot;, # Action to perform for this link. The `&quot;request&quot;` action is only available to select merchants. Acceptable values are: - &quot;`approve`&quot; - &quot;`remove`&quot; - &quot;`request`&quot;
-  &quot;linkType&quot;: &quot;A String&quot;, # Type of the link between the two accounts. Acceptable values are: - &quot;`channelPartner`&quot; - &quot;`eCommercePlatform`&quot;
+  &quot;linkType&quot;: &quot;A String&quot;, # Type of the link between the two accounts. Acceptable values are: - &quot;`channelPartner`&quot; - &quot;`eCommercePlatform`&quot; - &quot;`paymentServiceProvider`&quot;
   &quot;linkedAccountId&quot;: &quot;A String&quot;, # The ID of the linked account.
-  &quot;services&quot;: [ #  Acceptable values are: - &quot;`shoppingAdsProductManagement`&quot; - &quot;`shoppingActionsProductManagement`&quot; - &quot;`shoppingActionsOrderManagement`&quot;
+  &quot;paymentServiceProviderLinkInfo&quot;: { # Additional information required for PAYMENT_SERVICE_PROVIDER link type. # Additional information required for `paymentServiceProvider` link type.
+    &quot;externalAccountBusinessCountry&quot;: &quot;A String&quot;, # The business country of the merchant account as identified by the third party service provider.
+    &quot;externalAccountId&quot;: &quot;A String&quot;, # The id used by the third party service provider to identify the merchant.
+  },
+  &quot;services&quot;: [ #  Acceptable values are: - &quot;`shoppingAdsProductManagement`&quot; - &quot;`shoppingActionsProductManagement`&quot; - &quot;`shoppingActionsOrderManagement`&quot; - &quot;`paymentProcessing`&quot;
     &quot;A String&quot;,
   ],
 }
@@ -736,7 +740,7 @@
       &quot;linkedAccountId&quot;: &quot;A String&quot;, # The ID of the linked account.
       &quot;services&quot;: [ # List of provided services.
         {
-          &quot;service&quot;: &quot;A String&quot;, # Service provided to or by the linked account. Acceptable values are: - &quot;`shoppingActionsOrderManagement`&quot; - &quot;`shoppingActionsProductManagement`&quot; - &quot;`shoppingAdsProductManagement`&quot;
+          &quot;service&quot;: &quot;A String&quot;, # Service provided to or by the linked account. Acceptable values are: - &quot;`shoppingActionsOrderManagement`&quot; - &quot;`shoppingActionsProductManagement`&quot; - &quot;`shoppingAdsProductManagement`&quot; - &quot;`paymentProcessing`&quot;
           &quot;status&quot;: &quot;A String&quot;, # Status of the link Acceptable values are: - &quot;`active`&quot; - &quot;`inactive`&quot; - &quot;`pending`&quot;
         },
       ],
diff --git a/docs/dyn/content_v2_1.shippingsettings.html b/docs/dyn/content_v2_1.shippingsettings.html
index 43cc6bd..6f12775 100644
--- a/docs/dyn/content_v2_1.shippingsettings.html
+++ b/docs/dyn/content_v2_1.shippingsettings.html
@@ -188,6 +188,17 @@
                   &quot;A String&quot;,
                 ],
               },
+              &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+                {
+                  &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+                  &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+                  &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+                  &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+                  &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+                  &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+                  &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address.
+                },
+              ],
             },
             &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
             &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -489,6 +500,17 @@
                   &quot;A String&quot;,
                 ],
               },
+              &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+                {
+                  &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+                  &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+                  &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+                  &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+                  &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+                  &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+                  &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address.
+                },
+              ],
             },
             &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
             &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -783,6 +805,17 @@
             &quot;A String&quot;,
           ],
         },
+        &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+          {
+            &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+            &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+            &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+            &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+            &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+            &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+            &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address.
+          },
+        ],
       },
       &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
       &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -1010,8 +1043,11 @@
   &quot;carriers&quot;: [ # A list of supported carriers. May be empty.
     {
       &quot;country&quot;: &quot;A String&quot;, # The CLDR country code of the carrier (e.g., &quot;US&quot;). Always present.
+      &quot;eddServices&quot;: [ # A list of services supported for EDD (Estimated Delivery Date) calculation. This is the list of valid values for WarehouseBasedDeliveryTime.carrierService.
+        &quot;A String&quot;,
+      ],
       &quot;name&quot;: &quot;A String&quot;, # The name of the carrier (e.g., `&quot;UPS&quot;`). Always present.
-      &quot;services&quot;: [ # A list of supported services (e.g., `&quot;ground&quot;`) for that carrier. Contains at least one service.
+      &quot;services&quot;: [ # A list of supported services (e.g., `&quot;ground&quot;`) for that carrier. Contains at least one service. This is the list of valid values for CarrierRate.carrierService.
         &quot;A String&quot;,
       ],
     },
@@ -1161,6 +1197,17 @@
                 &quot;A String&quot;,
               ],
             },
+            &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+              {
+                &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+                &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+                &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+                &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+                &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+                &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+                &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address.
+              },
+            ],
           },
           &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
           &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -1462,6 +1509,17 @@
             &quot;A String&quot;,
           ],
         },
+        &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+          {
+            &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+            &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+            &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+            &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+            &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+            &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+            &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address.
+          },
+        ],
       },
       &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
       &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
@@ -1744,6 +1802,17 @@
             &quot;A String&quot;,
           ],
         },
+        &quot;warehouseBasedDeliveryTimes&quot;: [ # Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.
+          {
+            &quot;carrier&quot;: &quot;A String&quot;, # Required. Carrier, such as `&quot;UPS&quot;` or `&quot;Fedex&quot;`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.
+            &quot;carrierService&quot;: &quot;A String&quot;, # Required. Carrier service, such as `&quot;ground&quot;` or `&quot;2 days&quot;`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.
+            &quot;originAdministrativeArea&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s state.
+            &quot;originCity&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s city.
+            &quot;originCountry&quot;: &quot;A String&quot;, # Required. Shipping origin&#x27;s country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
+            &quot;originPostalCode&quot;: &quot;A String&quot;, # Required. Shipping origin.
+            &quot;originStreetAddress&quot;: &quot;A String&quot;, # Shipping origin&#x27;s street address.
+          },
+        ],
       },
       &quot;eligibility&quot;: &quot;A String&quot;, # Eligibility for this service. Acceptable values are: - &quot;`All scenarios`&quot; - &quot;`All scenarios except Shopping Actions`&quot; - &quot;`Shopping Actions`&quot;
       &quot;minimumOrderValue&quot;: { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table.
diff --git a/docs/dyn/datastore_v1.projects.html b/docs/dyn/datastore_v1.projects.html
index 253d033..3dcc1ec 100644
--- a/docs/dyn/datastore_v1.projects.html
+++ b/docs/dyn/datastore_v1.projects.html
@@ -248,40 +248,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 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.
@@ -299,40 +266,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 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.
@@ -350,40 +284,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 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
         },
       },
     },
@@ -602,40 +503,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 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.
@@ -659,40 +527,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 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.
@@ -790,7 +625,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 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].
@@ -829,7 +681,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 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].
@@ -890,7 +759,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 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].
@@ -977,40 +863,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 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.
@@ -1049,7 +902,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 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/dns_v1.managedZoneOperations.html b/docs/dyn/dns_v1.managedZoneOperations.html
index 16b7098..f1c3b99 100644
--- a/docs/dyn/dns_v1.managedZoneOperations.html
+++ b/docs/dyn/dns_v1.managedZoneOperations.html
@@ -318,7 +318,7 @@
   &quot;header&quot;: { # Elements common to every response.
     &quot;operationId&quot;: &quot;A String&quot;, # For mutating operation requests that completed successfully. This is the client_operation_id if the client specified it, otherwise it is generated by the server (output only).
   },
-  &quot;kind&quot;: &quot;dns#managedZoneOperationsListResponse&quot;,
+  &quot;kind&quot;: &quot;dns#managedZoneOperationsListResponse&quot;, # Type of resource.
   &quot;nextPageToken&quot;: &quot;A String&quot;, # The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token. This lets you retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.
   &quot;operations&quot;: [ # The operation resources.
     { # An operation represents a successful mutation performed on a Cloud DNS resource. Operations provide: - An audit log of server resource mutations. - A way to recover/retry API calls in the case where the response is never received by the caller. Use the caller specified client_operation_id.
diff --git a/docs/dyn/dns_v1beta2.managedZoneOperations.html b/docs/dyn/dns_v1beta2.managedZoneOperations.html
index 655b404..1c7da52 100644
--- a/docs/dyn/dns_v1beta2.managedZoneOperations.html
+++ b/docs/dyn/dns_v1beta2.managedZoneOperations.html
@@ -202,6 +202,12 @@
         },
       },
       &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+        &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+          {
+            &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+          },
+        ],
         &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
         &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
           {
@@ -270,6 +276,12 @@
         },
       },
       &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+        &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+          {
+            &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+          },
+        ],
         &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
         &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
           {
@@ -320,7 +332,7 @@
   &quot;header&quot;: { # Elements common to every response.
     &quot;operationId&quot;: &quot;A String&quot;, # For mutating operation requests that completed successfully. This is the client_operation_id if the client specified it, otherwise it is generated by the server (output only).
   },
-  &quot;kind&quot;: &quot;dns#managedZoneOperationsListResponse&quot;,
+  &quot;kind&quot;: &quot;dns#managedZoneOperationsListResponse&quot;, # Type of resource.
   &quot;nextPageToken&quot;: &quot;A String&quot;, # The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token. This lets you retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.
   &quot;operations&quot;: [ # The operation resources.
     { # An operation represents a successful mutation performed on a Cloud DNS resource. Operations provide: - An audit log of server resource mutations. - A way to recover/retry API calls in the case where the response is never received by the caller. Use the caller specified client_operation_id.
@@ -416,6 +428,12 @@
             },
           },
           &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+            &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+              {
+                &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+                &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+              },
+            ],
             &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
             &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
               {
@@ -484,6 +502,12 @@
             },
           },
           &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+            &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+              {
+                &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+                &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+              },
+            ],
             &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
             &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
               {
diff --git a/docs/dyn/dns_v1beta2.managedZones.html b/docs/dyn/dns_v1beta2.managedZones.html
index ec5bd68..7d0e058 100644
--- a/docs/dyn/dns_v1beta2.managedZones.html
+++ b/docs/dyn/dns_v1beta2.managedZones.html
@@ -160,6 +160,12 @@
     },
   },
   &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+    &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+      {
+        &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+        &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+      },
+    ],
     &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
     &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
       {
@@ -238,6 +244,12 @@
     },
   },
   &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+    &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+      {
+        &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+        &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+      },
+    ],
     &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
     &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
       {
@@ -339,6 +351,12 @@
     },
   },
   &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+    &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+      {
+        &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+        &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+      },
+    ],
     &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
     &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
       {
@@ -432,6 +450,12 @@
         },
       },
       &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+        &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+          {
+            &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+          },
+        ],
         &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
         &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
           {
@@ -529,6 +553,12 @@
     },
   },
   &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+    &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+      {
+        &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+        &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+      },
+    ],
     &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
     &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
       {
@@ -653,6 +683,12 @@
         },
       },
       &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+        &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+          {
+            &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+          },
+        ],
         &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
         &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
           {
@@ -721,6 +757,12 @@
         },
       },
       &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+        &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+          {
+            &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+          },
+        ],
         &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
         &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
           {
@@ -803,6 +845,12 @@
     },
   },
   &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+    &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+      {
+        &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+        &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+      },
+    ],
     &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
     &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
       {
@@ -927,6 +975,12 @@
         },
       },
       &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+        &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+          {
+            &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+          },
+        ],
         &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
         &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
           {
@@ -995,6 +1049,12 @@
         },
       },
       &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
+        &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters that can see this zone.
+          {
+            &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigGKECluster&quot;,
+          },
+        ],
         &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
         &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
           {
diff --git a/docs/dyn/dns_v1beta2.projects.html b/docs/dyn/dns_v1beta2.projects.html
index 30fe583..6eaf3d1 100644
--- a/docs/dyn/dns_v1beta2.projects.html
+++ b/docs/dyn/dns_v1beta2.projects.html
@@ -112,8 +112,10 @@
   &quot;number&quot;: &quot;A String&quot;, # Unique numeric identifier for the resource; defined by the server (output only).
   &quot;quota&quot;: { # Limits associated with a Project. # Quotas assigned to this project (output only).
     &quot;dnsKeysPerManagedZone&quot;: 42, # Maximum allowed number of DnsKeys per ManagedZone.
+    &quot;gkeClustersPerManagedZone&quot;: 42, # Maximum allowed number of GKE clusters to which a privately scoped zone can be attached.
     &quot;kind&quot;: &quot;dns#quota&quot;,
     &quot;managedZones&quot;: 42, # Maximum allowed number of managed zones in the project.
+    &quot;managedZonesPerGkeCluster&quot;: 42, # Maximum allowed number of managed zones which can be attached to a GKE cluster.
     &quot;managedZonesPerNetwork&quot;: 42, # Maximum allowed number of managed zones which can be attached to a network.
     &quot;networksPerManagedZone&quot;: 42, # Maximum allowed number of networks to which a privately scoped zone can be attached.
     &quot;networksPerPolicy&quot;: 42, # Maximum allowed number of networks per policy.
diff --git a/docs/dyn/dns_v1beta2.responsePolicies.html b/docs/dyn/dns_v1beta2.responsePolicies.html
index fc7383a..2ec8068 100644
--- a/docs/dyn/dns_v1beta2.responsePolicies.html
+++ b/docs/dyn/dns_v1beta2.responsePolicies.html
@@ -115,6 +115,12 @@
 
 { # A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.
   &quot;description&quot;: &quot;A String&quot;, # User-provided description for this Response Policy.
+  &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters to which this response policy is applied.
+    {
+      &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+      &quot;kind&quot;: &quot;dns#responsePolicyGKECluster&quot;,
+    },
+  ],
   &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
   &quot;kind&quot;: &quot;dns#responsePolicy&quot;,
   &quot;networks&quot;: [ # List of network names specifying networks to which this policy is applied.
@@ -137,6 +143,12 @@
 
     { # A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.
   &quot;description&quot;: &quot;A String&quot;, # User-provided description for this Response Policy.
+  &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters to which this response policy is applied.
+    {
+      &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+      &quot;kind&quot;: &quot;dns#responsePolicyGKECluster&quot;,
+    },
+  ],
   &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
   &quot;kind&quot;: &quot;dns#responsePolicy&quot;,
   &quot;networks&quot;: [ # List of network names specifying networks to which this policy is applied.
@@ -182,6 +194,12 @@
 
     { # A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.
   &quot;description&quot;: &quot;A String&quot;, # User-provided description for this Response Policy.
+  &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters to which this response policy is applied.
+    {
+      &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+      &quot;kind&quot;: &quot;dns#responsePolicyGKECluster&quot;,
+    },
+  ],
   &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
   &quot;kind&quot;: &quot;dns#responsePolicy&quot;,
   &quot;networks&quot;: [ # List of network names specifying networks to which this policy is applied.
@@ -218,6 +236,12 @@
   &quot;responsePolicies&quot;: [ # The Response Policy resources.
     { # A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.
       &quot;description&quot;: &quot;A String&quot;, # User-provided description for this Response Policy.
+      &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters to which this response policy is applied.
+        {
+          &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+          &quot;kind&quot;: &quot;dns#responsePolicyGKECluster&quot;,
+        },
+      ],
       &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
       &quot;kind&quot;: &quot;dns#responsePolicy&quot;,
       &quot;networks&quot;: [ # List of network names specifying networks to which this policy is applied.
@@ -258,6 +282,12 @@
 
 { # A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.
   &quot;description&quot;: &quot;A String&quot;, # User-provided description for this Response Policy.
+  &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters to which this response policy is applied.
+    {
+      &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+      &quot;kind&quot;: &quot;dns#responsePolicyGKECluster&quot;,
+    },
+  ],
   &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
   &quot;kind&quot;: &quot;dns#responsePolicy&quot;,
   &quot;networks&quot;: [ # List of network names specifying networks to which this policy is applied.
@@ -284,6 +314,12 @@
   },
   &quot;responsePolicy&quot;: { # A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.
     &quot;description&quot;: &quot;A String&quot;, # User-provided description for this Response Policy.
+    &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters to which this response policy is applied.
+      {
+        &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+        &quot;kind&quot;: &quot;dns#responsePolicyGKECluster&quot;,
+      },
+    ],
     &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
     &quot;kind&quot;: &quot;dns#responsePolicy&quot;,
     &quot;networks&quot;: [ # List of network names specifying networks to which this policy is applied.
@@ -309,6 +345,12 @@
 
 { # A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.
   &quot;description&quot;: &quot;A String&quot;, # User-provided description for this Response Policy.
+  &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters to which this response policy is applied.
+    {
+      &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+      &quot;kind&quot;: &quot;dns#responsePolicyGKECluster&quot;,
+    },
+  ],
   &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
   &quot;kind&quot;: &quot;dns#responsePolicy&quot;,
   &quot;networks&quot;: [ # List of network names specifying networks to which this policy is applied.
@@ -335,6 +377,12 @@
   },
   &quot;responsePolicy&quot;: { # A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.
     &quot;description&quot;: &quot;A String&quot;, # User-provided description for this Response Policy.
+    &quot;gkeClusters&quot;: [ # The list of Google Kubernetes Engine clusters to which this response policy is applied.
+      {
+        &quot;gkeClusterName&quot;: &quot;A String&quot;, # The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get
+        &quot;kind&quot;: &quot;dns#responsePolicyGKECluster&quot;,
+      },
+    ],
     &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
     &quot;kind&quot;: &quot;dns#responsePolicy&quot;,
     &quot;networks&quot;: [ # List of network names specifying networks to which this policy is applied.
diff --git a/docs/dyn/privateca_v1beta1.projects.locations.html b/docs/dyn/privateca_v1beta1.projects.locations.html
index 3a813e5..92cbae1 100644
--- a/docs/dyn/privateca_v1beta1.projects.locations.html
+++ b/docs/dyn/privateca_v1beta1.projects.locations.html
@@ -141,7 +141,7 @@
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like &quot;displayName=tokyo&quot;, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
-  pageSize: integer, The maximum number of results to return. If not set, the service will select a default.
+  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/realtimebidding_v1alpha.bidders.biddingFunctions.html b/docs/dyn/realtimebidding_v1alpha.bidders.biddingFunctions.html
index b2639eb..f0a451c 100644
--- a/docs/dyn/realtimebidding_v1alpha.bidders.biddingFunctions.html
+++ b/docs/dyn/realtimebidding_v1alpha.bidders.biddingFunctions.html
@@ -104,6 +104,7 @@
 { # The bidding function to be executed as part of the TURTLEDOVE simulation experiment bidding flow.
   &quot;biddingFunction&quot;: &quot;A String&quot;, # The raw Javascript source code of the bidding function.
   &quot;name&quot;: &quot;A String&quot;, # The name of the bidding function that must follow the pattern: `bidders/{bidder_account_id}/biddingFunctions/{bidding_function_name}`.
+  &quot;type&quot;: &quot;A String&quot;, # The type of the bidding function to be created.
 }
 
   x__xgafv: string, V1 error format.
@@ -117,6 +118,7 @@
     { # The bidding function to be executed as part of the TURTLEDOVE simulation experiment bidding flow.
   &quot;biddingFunction&quot;: &quot;A String&quot;, # The raw Javascript source code of the bidding function.
   &quot;name&quot;: &quot;A String&quot;, # The name of the bidding function that must follow the pattern: `bidders/{bidder_account_id}/biddingFunctions/{bidding_function_name}`.
+  &quot;type&quot;: &quot;A String&quot;, # The type of the bidding function to be created.
 }</pre>
 </div>
 
@@ -141,6 +143,7 @@
     { # The bidding function to be executed as part of the TURTLEDOVE simulation experiment bidding flow.
       &quot;biddingFunction&quot;: &quot;A String&quot;, # The raw Javascript source code of the bidding function.
       &quot;name&quot;: &quot;A String&quot;, # The name of the bidding function that must follow the pattern: `bidders/{bidder_account_id}/biddingFunctions/{bidding_function_name}`.
+      &quot;type&quot;: &quot;A String&quot;, # The type of the bidding function to be created.
     },
   ],
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token which can be passed to a subsequent call to the `ListBiddingFunctions` method to retrieve the next page of results in ListBiddingFunctionsRequest.pageToken.
diff --git a/docs/dyn/servicemanagement_v1.services.configs.html b/docs/dyn/servicemanagement_v1.services.configs.html
index 7c9ef29..0faacb2 100644
--- a/docs/dyn/servicemanagement_v1.services.configs.html
+++ b/docs/dyn/servicemanagement_v1.services.configs.html
@@ -266,6 +266,9 @@
   },
   &quot;endpoints&quot;: [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.
     { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+      &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+        &quot;A String&quot;,
+      ],
       &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
       &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
       &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
@@ -732,6 +735,9 @@
   },
   &quot;endpoints&quot;: [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.
     { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+      &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+        &quot;A String&quot;,
+      ],
       &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
       &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
       &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
@@ -1210,6 +1216,9 @@
   },
   &quot;endpoints&quot;: [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.
     { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+      &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+        &quot;A String&quot;,
+      ],
       &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
       &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
       &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
@@ -1688,6 +1697,9 @@
       },
       &quot;endpoints&quot;: [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.
         { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+          &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+            &quot;A String&quot;,
+          ],
           &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
           &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
           &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
diff --git a/docs/dyn/servicemanagement_v1.services.html b/docs/dyn/servicemanagement_v1.services.html
index cdc71fd..3cbd282 100644
--- a/docs/dyn/servicemanagement_v1.services.html
+++ b/docs/dyn/servicemanagement_v1.services.html
@@ -112,7 +112,7 @@
 <p class="firstline">Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.</p>
 <p class="toc_element">
   <code><a href="#list">list(consumerId=None, pageSize=None, pageToken=None, producerProjectId=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has "servicemanagement.services.get" permission for. **BETA:** If the caller specifies the `consumer_id`, it returns only the services enabled on the consumer. The `consumer_id` must have the format of "project:{PROJECT-ID}".</p>
+<p class="firstline">Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has "servicemanagement.services.get" permission for.</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>
@@ -461,6 +461,9 @@
   },
   &quot;endpoints&quot;: [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.
     { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+      &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+        &quot;A String&quot;,
+      ],
       &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
       &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
       &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
@@ -819,7 +822,7 @@
 
 <div class="method">
     <code class="details" id="list">list(consumerId=None, pageSize=None, pageToken=None, producerProjectId=None, x__xgafv=None)</code>
-  <pre>Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has &quot;servicemanagement.services.get&quot; permission for. **BETA:** If the caller specifies the `consumer_id`, it returns only the services enabled on the consumer. The `consumer_id` must have the format of &quot;project:{PROJECT-ID}&quot;.
+  <pre>Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has &quot;servicemanagement.services.get&quot; permission for.
 
 Args:
   consumerId: string, Include services consumed by the specified consumer. The Google Service Management implementation accepts the following forms: - project:
diff --git a/docs/dyn/serviceusage_v1.services.html b/docs/dyn/serviceusage_v1.services.html
index 1b85a75..57a5c9e 100644
--- a/docs/dyn/serviceusage_v1.services.html
+++ b/docs/dyn/serviceusage_v1.services.html
@@ -261,6 +261,9 @@
         },
         &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases of the endpoints.
           { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+            &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+              &quot;A String&quot;,
+            ],
             &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
             &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
             &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
@@ -554,6 +557,9 @@
     },
     &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases of the endpoints.
       { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+        &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+          &quot;A String&quot;,
+        ],
         &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
         &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
         &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
@@ -762,6 +768,9 @@
         },
         &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases of the endpoints.
           { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+            &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+              &quot;A String&quot;,
+            ],
             &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
             &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
             &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
diff --git a/docs/dyn/serviceusage_v1beta1.services.html b/docs/dyn/serviceusage_v1beta1.services.html
index 20b8d62..284068f 100644
--- a/docs/dyn/serviceusage_v1beta1.services.html
+++ b/docs/dyn/serviceusage_v1beta1.services.html
@@ -385,6 +385,9 @@
     },
     &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases of the endpoints.
       { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+        &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+          &quot;A String&quot;,
+        ],
         &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
         &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
         &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
@@ -593,6 +596,9 @@
         },
         &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases of the endpoints.
           { # `Endpoint` describes a network endpoint of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example service configuration: name: library-example.googleapis.com endpoints: # Below entry makes &#x27;google.example.library.v1.Library&#x27; # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true
+            &quot;aliases&quot;: [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.
+              &quot;A String&quot;,
+            ],
             &quot;allowCors&quot;: True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
             &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
             &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
diff --git a/docs/dyn/sqladmin_v1beta4.instances.html b/docs/dyn/sqladmin_v1beta4.instances.html
index 76afdc3..6f2bbf8 100644
--- a/docs/dyn/sqladmin_v1beta4.instances.html
+++ b/docs/dyn/sqladmin_v1beta4.instances.html
@@ -798,6 +798,10 @@
     &quot;password&quot;: &quot;A String&quot;, # The password for connecting to on-premises instance.
     &quot;username&quot;: &quot;A String&quot;, # The username for connecting to on-premises instance.
   },
+  &quot;outOfDiskReport&quot;: { # This message wraps up the information written by out-of-disk detection job. # This field represents the report generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+    &quot;sqlMinRecommendedIncreaseSizeGb&quot;: 42, # The minimum recommended increase size in GigaBytes This field is consumed by the frontend Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend
+    &quot;sqlOutOfDiskState&quot;: &quot;A String&quot;, # This field represents the state generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+  },
   &quot;project&quot;: &quot;A String&quot;, # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
   &quot;region&quot;: &quot;A String&quot;, # The geographical region. Can be *us-central* (*FIRST_GEN* instances only) *us-central1* (*SECOND_GEN* instances only) *asia-east1* or *europe-west1*. Defaults to *us-central* or *us-central1* depending on the instance type. The region cannot be changed after instance creation.
   &quot;replicaConfiguration&quot;: { # Read-replica configuration for connecting to the primary instance. # Configuration specific to failover replicas and read replicas.
@@ -1095,6 +1099,10 @@
     &quot;password&quot;: &quot;A String&quot;, # The password for connecting to on-premises instance.
     &quot;username&quot;: &quot;A String&quot;, # The username for connecting to on-premises instance.
   },
+  &quot;outOfDiskReport&quot;: { # This message wraps up the information written by out-of-disk detection job. # This field represents the report generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+    &quot;sqlMinRecommendedIncreaseSizeGb&quot;: 42, # The minimum recommended increase size in GigaBytes This field is consumed by the frontend Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend
+    &quot;sqlOutOfDiskState&quot;: &quot;A String&quot;, # This field represents the state generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+  },
   &quot;project&quot;: &quot;A String&quot;, # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
   &quot;region&quot;: &quot;A String&quot;, # The geographical region. Can be *us-central* (*FIRST_GEN* instances only) *us-central1* (*SECOND_GEN* instances only) *asia-east1* or *europe-west1*. Defaults to *us-central* or *us-central1* depending on the instance type. The region cannot be changed after instance creation.
   &quot;replicaConfiguration&quot;: { # Read-replica configuration for connecting to the primary instance. # Configuration specific to failover replicas and read replicas.
@@ -1368,6 +1376,10 @@
         &quot;password&quot;: &quot;A String&quot;, # The password for connecting to on-premises instance.
         &quot;username&quot;: &quot;A String&quot;, # The username for connecting to on-premises instance.
       },
+      &quot;outOfDiskReport&quot;: { # This message wraps up the information written by out-of-disk detection job. # This field represents the report generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+        &quot;sqlMinRecommendedIncreaseSizeGb&quot;: 42, # The minimum recommended increase size in GigaBytes This field is consumed by the frontend Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend
+        &quot;sqlOutOfDiskState&quot;: &quot;A String&quot;, # This field represents the state generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+      },
       &quot;project&quot;: &quot;A String&quot;, # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
       &quot;region&quot;: &quot;A String&quot;, # The geographical region. Can be *us-central* (*FIRST_GEN* instances only) *us-central1* (*SECOND_GEN* instances only) *asia-east1* or *europe-west1*. Defaults to *us-central* or *us-central1* depending on the instance type. The region cannot be changed after instance creation.
       &quot;replicaConfiguration&quot;: { # Read-replica configuration for connecting to the primary instance. # Configuration specific to failover replicas and read replicas.
@@ -1613,6 +1625,10 @@
     &quot;password&quot;: &quot;A String&quot;, # The password for connecting to on-premises instance.
     &quot;username&quot;: &quot;A String&quot;, # The username for connecting to on-premises instance.
   },
+  &quot;outOfDiskReport&quot;: { # This message wraps up the information written by out-of-disk detection job. # This field represents the report generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+    &quot;sqlMinRecommendedIncreaseSizeGb&quot;: 42, # The minimum recommended increase size in GigaBytes This field is consumed by the frontend Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend
+    &quot;sqlOutOfDiskState&quot;: &quot;A String&quot;, # This field represents the state generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+  },
   &quot;project&quot;: &quot;A String&quot;, # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
   &quot;region&quot;: &quot;A String&quot;, # The geographical region. Can be *us-central* (*FIRST_GEN* instances only) *us-central1* (*SECOND_GEN* instances only) *asia-east1* or *europe-west1*. Defaults to *us-central* or *us-central1* depending on the instance type. The region cannot be changed after instance creation.
   &quot;replicaConfiguration&quot;: { # Read-replica configuration for connecting to the primary instance. # Configuration specific to failover replicas and read replicas.
@@ -2597,6 +2613,10 @@
     &quot;password&quot;: &quot;A String&quot;, # The password for connecting to on-premises instance.
     &quot;username&quot;: &quot;A String&quot;, # The username for connecting to on-premises instance.
   },
+  &quot;outOfDiskReport&quot;: { # This message wraps up the information written by out-of-disk detection job. # This field represents the report generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+    &quot;sqlMinRecommendedIncreaseSizeGb&quot;: 42, # The minimum recommended increase size in GigaBytes This field is consumed by the frontend Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend
+    &quot;sqlOutOfDiskState&quot;: &quot;A String&quot;, # This field represents the state generated by the proactive database wellness job for OutOfDisk issues. Writers: -- the proactive database wellness job for OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
+  },
   &quot;project&quot;: &quot;A String&quot;, # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
   &quot;region&quot;: &quot;A String&quot;, # The geographical region. Can be *us-central* (*FIRST_GEN* instances only) *us-central1* (*SECOND_GEN* instances only) *asia-east1* or *europe-west1*. Defaults to *us-central* or *us-central1* depending on the instance type. The region cannot be changed after instance creation.
   &quot;replicaConfiguration&quot;: { # Read-replica configuration for connecting to the primary instance. # Configuration specific to failover replicas and read replicas.
