chore: Update discovery artifacts (#1333)

## Deleted keys were detected in the following pre-stable discovery artifacts:
gkehubv1alpha[ [More details]](https://github.com/googleapis/google-api-python-client/commit/dcd01664ac4b7e2bd428f3e42d9528c722a19a4e)
gkehubv1beta[ [More details]](https://github.com/googleapis/google-api-python-client/commit/dcd01664ac4b7e2bd428f3e42d9528c722a19a4e)

## Discovery Artifact Change Summary:
androidenterprisev1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/362d0dd463193791b3ae981b35771e2c036ae337)
androidpublisherv3[ [More details]](https://github.com/googleapis/google-api-python-client/commit/90851f695283e9e741c5df2116228f3740cee32a)
artifactregistryv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/e77297852bb1805dfc7746332844679c42b89794)
chromepolicyv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/cd1df57c922c4300859db216157caf3eddacbf66)
dialogflowv3beta1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/bd668e18902364e0de1bca6474bc4dd29b7c347f)
filev1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/804ea3bc15b7f133597a1b3c1f24e0c9c5235b54)
gkehubv1alpha[ [More details]](https://github.com/googleapis/google-api-python-client/commit/dcd01664ac4b7e2bd428f3e42d9528c722a19a4e)
gkehubv1beta[ [More details]](https://github.com/googleapis/google-api-python-client/commit/dcd01664ac4b7e2bd428f3e42d9528c722a19a4e)
lifesciencesv2beta[ [More details]](https://github.com/googleapis/google-api-python-client/commit/a1b8cf21e766625fae5f10c37f6430d20cb0f362)
servicedirectoryv1beta1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/b79051d8dc99227aa1ee4749e280b90d7ce7f959)

chore(acceleratedmobilepageurl): update the api
chore(adexchangebuyer): update the api
chore(adexchangebuyer2): update the api
chore(admob): update the api
chore(adsense): update the api
chore(analyticsadmin): update the api
chore(analyticsdata): update the api
chore(analyticsreporting): update the api
feat(androidenterprise): update the api
feat(androidpublisher): update the api
chore(apigateway): update the api
chore(apikeys): update the api
chore(area120tables): update the api
feat(artifactregistry): update the api
chore(bigquery): update the api
chore(blogger): update the api
chore(books): update the api
chore(chat): update the api
chore(chromemanagement): update the api
feat(chromepolicy): update the api
chore(chromeuxreport): update the api
chore(classroom): update the api
chore(cloudasset): update the api
chore(cloudbuild): update the api
chore(cloudchannel): update the api
chore(cloudprofiler): update the api
chore(cloudsearch): update the api
chore(cloudtrace): update the api
chore(containeranalysis): update the api
chore(customsearch): update the api
feat(dialogflow): update the api
chore(domainsrdap): update the api
chore(doubleclicksearch): update the api
chore(driveactivity): update the api
chore(essentialcontacts): update the api
chore(eventarc): update the api
chore(factchecktools): update the api
feat(file): update the api
chore(firebase): update the api
chore(firebasedatabase): update the api
chore(firebaseml): update the api
chore(fitness): update the api
feat(gkehub): update the api
chore(gmailpostmastertools): update the api
chore(iam): update the api
chore(iamcredentials): update the api
chore(language): update the api
chore(libraryagent): update the api
feat(lifesciences): update the api
chore(logging): update the api
chore(ml): update the api
chore(monitoring): update the api
chore(mybusinessaccountmanagement): update the api
chore(mybusinesslodging): update the api
chore(mybusinessplaceactions): update the api
chore(networkconnectivity): update the api
chore(orgpolicy): update the api
chore(osconfig): update the api
chore(pagespeedonline): update the api
chore(paymentsresellersubscription): update the api
chore(people): update the api
chore(playablelocations): update the api
chore(playcustomapp): update the api
chore(poly): update the api
chore(prod_tt_sasportal): update the api
chore(pubsublite): update the api
chore(realtimebidding): update the api
chore(recommender): update the api
chore(remotebuildexecution): update the api
chore(safebrowsing): update the api
chore(sasportal): update the api
chore(searchconsole): update the api
chore(serviceconsumermanagement): update the api
feat(servicedirectory): update the api
chore(serviceusage): update the api
chore(sheets): update the api
chore(smartdevicemanagement): update the api
chore(storage): update the api
chore(storagetransfer): update the api
chore(streetviewpublish): update the api
chore(sts): update the api
chore(tagmanager): update the api
chore(toolresults): update the api
chore(tpu): update the api
chore(vectortile): update the api
chore(videointelligence): update the api
chore(workflows): update the api
chore(youtube): update the api
chore(youtubeAnalytics): update the api
chore(youtubereporting): update the api
chore(docs): Add new discovery artifacts and reference documents
diff --git a/docs/dyn/androidenterprise_v1.enterprises.html b/docs/dyn/androidenterprise_v1.enterprises.html
index 3c72989..4e62b7b 100644
--- a/docs/dyn/androidenterprise_v1.enterprises.html
+++ b/docs/dyn/androidenterprise_v1.enterprises.html
@@ -195,6 +195,9 @@
   "webApps": { # Options for displaying the Web Apps page.
     "enabled": True or False, # Whether the Web Apps page is displayed. Default is true.
   },
+  "zeroTouch": { # Options for displaying the Zero Touch page.
+    "enabled": True or False, # Whether zero-touch embedded UI is usable with this token. If enabled, the admin can link zero-touch customers to this enterprise.
+  },
 }
 
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/androidpublisher_v3.edits.html b/docs/dyn/androidpublisher_v3.edits.html
index 2ba6085..f9e9eb3 100644
--- a/docs/dyn/androidpublisher_v3.edits.html
+++ b/docs/dyn/androidpublisher_v3.edits.html
@@ -123,7 +123,7 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
-  <code><a href="#commit">commit(packageName, editId, x__xgafv=None)</a></code></p>
+  <code><a href="#commit">commit(packageName, editId, changesNotSentForReview=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Commits an app edit.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(packageName, editId, x__xgafv=None)</a></code></p>
@@ -144,12 +144,13 @@
 </div>
 
 <div class="method">
-    <code class="details" id="commit">commit(packageName, editId, x__xgafv=None)</code>
+    <code class="details" id="commit">commit(packageName, editId, changesNotSentForReview=None, x__xgafv=None)</code>
   <pre>Commits an app edit.
 
 Args:
   packageName: string, Package name of the app. (required)
   editId: string, Identifier of the edit. (required)
+  changesNotSentForReview: boolean, Indicates that the changes in this edit will not be reviewed until they are explicitly sent for review from the Google Play Console UI. These changes will be added to any other changes that are not yet sent for review.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/apigee_v1.organizations.environments.html b/docs/dyn/apigee_v1.organizations.environments.html
index eec6e57..84e5d80 100644
--- a/docs/dyn/apigee_v1.organizations.environments.html
+++ b/docs/dyn/apigee_v1.organizations.environments.html
@@ -474,6 +474,7 @@
       &quot;host&quot;: &quot;A String&quot;, # Host name of the target server.
       &quot;name&quot;: &quot;A String&quot;, # Target server revision name in the following format: `organizations/{org}/environments/{env}/targetservers/{targetserver}/revisions/{rev}`
       &quot;port&quot;: 42, # Port number for the target server.
+      &quot;protocol&quot;: &quot;A String&quot;, # The protocol used by this target server.
       &quot;tlsInfo&quot;: { # TLS settings for the target server.
         &quot;ciphers&quot;: [ # List of ciphers that are granted access.
           &quot;A String&quot;,
diff --git a/docs/dyn/apigee_v1.organizations.environments.targetservers.html b/docs/dyn/apigee_v1.organizations.environments.targetservers.html
index 40e2727..19d300b 100644
--- a/docs/dyn/apigee_v1.organizations.environments.targetservers.html
+++ b/docs/dyn/apigee_v1.organizations.environments.targetservers.html
@@ -110,6 +110,7 @@
   &quot;isEnabled&quot;: True or False, # Optional. Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
   &quot;name&quot;: &quot;A String&quot;, # Required. The resource id of this target server. Values must match the regular expression
   &quot;port&quot;: 42, # Required. The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
+  &quot;protocol&quot;: &quot;A String&quot;, # Immutable. The protocol used by this TargetServer.
   &quot;sSLInfo&quot;: { # TLS configuration information for VirtualHosts and TargetServers. # Optional. Specifies TLS configuration info for this TargetServer. The JSON name is `sSLInfo` for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration.
     &quot;ciphers&quot;: [ # The SSL/TLS cipher suites to be used. Must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites
       &quot;A String&quot;,
@@ -145,6 +146,7 @@
   &quot;isEnabled&quot;: True or False, # Optional. Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
   &quot;name&quot;: &quot;A String&quot;, # Required. The resource id of this target server. Values must match the regular expression
   &quot;port&quot;: 42, # Required. The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
+  &quot;protocol&quot;: &quot;A String&quot;, # Immutable. The protocol used by this TargetServer.
   &quot;sSLInfo&quot;: { # TLS configuration information for VirtualHosts and TargetServers. # Optional. Specifies TLS configuration info for this TargetServer. The JSON name is `sSLInfo` for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration.
     &quot;ciphers&quot;: [ # The SSL/TLS cipher suites to be used. Must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites
       &quot;A String&quot;,
@@ -186,6 +188,7 @@
   &quot;isEnabled&quot;: True or False, # Optional. Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
   &quot;name&quot;: &quot;A String&quot;, # Required. The resource id of this target server. Values must match the regular expression
   &quot;port&quot;: 42, # Required. The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
+  &quot;protocol&quot;: &quot;A String&quot;, # Immutable. The protocol used by this TargetServer.
   &quot;sSLInfo&quot;: { # TLS configuration information for VirtualHosts and TargetServers. # Optional. Specifies TLS configuration info for this TargetServer. The JSON name is `sSLInfo` for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration.
     &quot;ciphers&quot;: [ # The SSL/TLS cipher suites to be used. Must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites
       &quot;A String&quot;,
@@ -227,6 +230,7 @@
   &quot;isEnabled&quot;: True or False, # Optional. Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
   &quot;name&quot;: &quot;A String&quot;, # Required. The resource id of this target server. Values must match the regular expression
   &quot;port&quot;: 42, # Required. The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
+  &quot;protocol&quot;: &quot;A String&quot;, # Immutable. The protocol used by this TargetServer.
   &quot;sSLInfo&quot;: { # TLS configuration information for VirtualHosts and TargetServers. # Optional. Specifies TLS configuration info for this TargetServer. The JSON name is `sSLInfo` for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration.
     &quot;ciphers&quot;: [ # The SSL/TLS cipher suites to be used. Must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites
       &quot;A String&quot;,
@@ -263,6 +267,7 @@
   &quot;isEnabled&quot;: True or False, # Optional. Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
   &quot;name&quot;: &quot;A String&quot;, # Required. The resource id of this target server. Values must match the regular expression
   &quot;port&quot;: 42, # Required. The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
+  &quot;protocol&quot;: &quot;A String&quot;, # Immutable. The protocol used by this TargetServer.
   &quot;sSLInfo&quot;: { # TLS configuration information for VirtualHosts and TargetServers. # Optional. Specifies TLS configuration info for this TargetServer. The JSON name is `sSLInfo` for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration.
     &quot;ciphers&quot;: [ # The SSL/TLS cipher suites to be used. Must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites
       &quot;A String&quot;,
@@ -297,6 +302,7 @@
   &quot;isEnabled&quot;: True or False, # Optional. Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
   &quot;name&quot;: &quot;A String&quot;, # Required. The resource id of this target server. Values must match the regular expression
   &quot;port&quot;: 42, # Required. The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
+  &quot;protocol&quot;: &quot;A String&quot;, # Immutable. The protocol used by this TargetServer.
   &quot;sSLInfo&quot;: { # TLS configuration information for VirtualHosts and TargetServers. # Optional. Specifies TLS configuration info for this TargetServer. The JSON name is `sSLInfo` for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration.
     &quot;ciphers&quot;: [ # The SSL/TLS cipher suites to be used. Must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites
       &quot;A String&quot;,
diff --git a/docs/dyn/apigee_v1.organizations.instances.html b/docs/dyn/apigee_v1.organizations.instances.html
index 3e062ba..15186ac 100644
--- a/docs/dyn/apigee_v1.organizations.instances.html
+++ b/docs/dyn/apigee_v1.organizations.instances.html
@@ -93,7 +93,7 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
-  <code><a href="#create">create(parent, body=None, environments=None, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates an Apigee runtime instance. The instance is accessible from the authorized network configured on the organization. **Note:** Not supported for Apigee hybrid.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
@@ -117,7 +117,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="create">create(parent, body=None, environments=None, x__xgafv=None)</code>
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
   <pre>Creates an Apigee runtime instance. The instance is accessible from the authorized network configured on the organization. **Note:** Not supported for Apigee hybrid.
 
 Args:
@@ -139,7 +139,6 @@
   &quot;state&quot;: &quot;A String&quot;, # Output only. State of the instance. Values other than `ACTIVE` means the resource is not ready to use.
 }
 
-  environments: string, Optional. List of environments that will be attached to the instance during creation. (repeated)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/apigee_v1.projects.html b/docs/dyn/apigee_v1.projects.html
index 998dc12..4de4c01 100644
--- a/docs/dyn/apigee_v1.projects.html
+++ b/docs/dyn/apigee_v1.projects.html
@@ -98,7 +98,7 @@
 { # Request for ProvisionOrganization.
   &quot;analyticsRegion&quot;: &quot;A String&quot;, # Primary Cloud Platform region for analytics data storage. For valid values, see [Create an organization](https://cloud.google.com/apigee/docs/hybrid/latest/precog-provision). Defaults to `us-west1`.
   &quot;authorizedNetwork&quot;: &quot;A String&quot;, # Name of the customer project&#x27;s VPC network. If provided, the network needs to be peered through Service Networking. If none is provided, the organization will have access only to the public internet.
-  &quot;runtimeLocation&quot;: &quot;A String&quot;, # Cloud Platform location for the runtime instance. Defaults to `us-west1-a`.
+  &quot;runtimeLocation&quot;: &quot;A String&quot;, # Cloud Platform location for the runtime instance. Defaults to zone `us-west1-a`. If a region is provided, `EVAL` organizations will use the region for automatically selecting a zone for the runtime instance.
 }
 
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/artifactregistry_v1.projects.locations.repositories.html b/docs/dyn/artifactregistry_v1.projects.locations.repositories.html
index 3e2e447..2227338 100644
--- a/docs/dyn/artifactregistry_v1.projects.locations.repositories.html
+++ b/docs/dyn/artifactregistry_v1.projects.locations.repositories.html
@@ -82,10 +82,94 @@
 <p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a repository.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists repositories.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
   <pre>Close httplib2 connections.</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets a repository.
+
+Args:
+  name: string, Required. The name of the repository to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A Repository for storing artifacts with a specific format.
+  &quot;createTime&quot;: &quot;A String&quot;, # The time when the repository was created.
+  &quot;description&quot;: &quot;A String&quot;, # The user-provided description of the repository.
+  &quot;format&quot;: &quot;A String&quot;, # The format of packages that are stored in the repository.
+  &quot;kmsKeyName&quot;: &quot;A String&quot;, # The Cloud KMS resource name of the customer managed encryption key that’s used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created.
+  &quot;labels&quot;: { # Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The name of the repository, for example: &quot;projects/p1/locations/us-central1/repositories/repo1&quot;.
+  &quot;updateTime&quot;: &quot;A String&quot;, # The time when the repository was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists repositories.
+
+Args:
+  parent: string, Required. The name of the parent resource whose repositories will be listed. (required)
+  pageSize: integer, The maximum number of repositories to return.
+  pageToken: string, The next_page_token value returned from a previous list request, if any.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response from listing repositories.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The token to retrieve the next page of repositories, or empty if there are no more repositories to return.
+  &quot;repositories&quot;: [ # The repositories returned.
+    { # A Repository for storing artifacts with a specific format.
+      &quot;createTime&quot;: &quot;A String&quot;, # The time when the repository was created.
+      &quot;description&quot;: &quot;A String&quot;, # The user-provided description of the repository.
+      &quot;format&quot;: &quot;A String&quot;, # The format of packages that are stored in the repository.
+      &quot;kmsKeyName&quot;: &quot;A String&quot;, # The Cloud KMS resource name of the customer managed encryption key that’s used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created.
+      &quot;labels&quot;: { # Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # The name of the repository, for example: &quot;projects/p1/locations/us-central1/repositories/repo1&quot;.
+      &quot;updateTime&quot;: &quot;A String&quot;, # The time when the repository was last updated.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.models.html b/docs/dyn/bigquery_v2.models.html
index 6a2e1b3..300f4d0 100644
--- a/docs/dyn/bigquery_v2.models.html
+++ b/docs/dyn/bigquery_v2.models.html
@@ -85,7 +85,7 @@
 <p class="firstline">Gets the specified model resource by model ID.</p>
 <p class="toc_element">
   <code><a href="#list">list(projectId, datasetId, maxResults=None, pageToken=None)</a></code></p>
-<p class="firstline">Lists all models in the specified dataset. Requires the READER dataset role.</p>
+<p class="firstline">Lists all models in the specified dataset. Requires the READER dataset role. After retrieving the list of models, you can get information about a particular model by calling the models.get method.</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,7 +461,7 @@
 
 <div class="method">
     <code class="details" id="list">list(projectId, datasetId, maxResults=None, pageToken=None)</code>
-  <pre>Lists all models in the specified dataset. Requires the READER dataset role.
+  <pre>Lists all models in the specified dataset. Requires the READER dataset role. After retrieving the list of models, you can get information about a particular model by calling the models.get method.
 
 Args:
   projectId: string, Required. Project ID of the models to list. (required)
diff --git a/docs/dyn/chromepolicy_v1.html b/docs/dyn/chromepolicy_v1.html
index 98e3001..606df25 100644
--- a/docs/dyn/chromepolicy_v1.html
+++ b/docs/dyn/chromepolicy_v1.html
@@ -80,6 +80,11 @@
 <p class="firstline">Returns the customers Resource.</p>
 
 <p class="toc_element">
+  <code><a href="chromepolicy_v1.media.html">media()</a></code>
+</p>
+<p class="firstline">Returns the media Resource.</p>
+
+<p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
diff --git a/docs/dyn/chromepolicy_v1.media.html b/docs/dyn/chromepolicy_v1.media.html
new file mode 100644
index 0000000..f1d21bf
--- /dev/null
+++ b/docs/dyn/chromepolicy_v1.media.html
@@ -0,0 +1,117 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="chromepolicy_v1.html">Chrome Policy API</a> . <a href="chromepolicy_v1.media.html">media</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#upload">upload(customer, body=None, media_body=None, media_mime_type=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates an enterprise file from the content provided by user. Returns a public download url for end user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="upload">upload(customer, body=None, media_body=None, media_mime_type=None, x__xgafv=None)</code>
+  <pre>Creates an enterprise file from the content provided by user. Returns a public download url for end user.
+
+Args:
+  customer: string, Required. The customer for which the file upload will apply. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for uploading a file for a policy. Next ID: 5
+  &quot;policyField&quot;: &quot;A String&quot;, # Required. The fully qualified policy schema and field name this file is uploaded for. This information will be used to validate the content type of the file.
+}
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for downloading an uploaded file. Next ID: 2
+  &quot;downloadUri&quot;: &quot;A String&quot;, # The uri for end user to download the file.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/cloudasset_v1.v1.html b/docs/dyn/cloudasset_v1.v1.html
index 19f2ee3..922f485 100644
--- a/docs/dyn/cloudasset_v1.v1.html
+++ b/docs/dyn/cloudasset_v1.v1.html
@@ -451,7 +451,7 @@
     { # Batch get assets history response.
   &quot;assets&quot;: [ # A list of assets with valid time windows.
     { # An asset in Google Cloud and its temporal metadata, including the time window when it was observed and its status during that window.
-      &quot;asset&quot;: { # An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information. # An asset in Google Cloud.
+      &quot;asset&quot;: { # An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP relationship). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information. # An asset in Google Cloud.
         &quot;accessLevel&quot;: { # An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied. # Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels).
           &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
             &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.
@@ -879,7 +879,7 @@
         &quot;updateTime&quot;: &quot;A String&quot;, # The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed.
       },
       &quot;deleted&quot;: True or False, # Whether the asset has been deleted or not.
-      &quot;priorAsset&quot;: { # An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information. # Prior copy of the asset. Populated if prior_asset_state is PRESENT. Currently this is only set for responses in Real-Time Feed.
+      &quot;priorAsset&quot;: { # An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP relationship). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information. # Prior copy of the asset. Populated if prior_asset_state is PRESENT. Currently this is only set for responses in Real-Time Feed.
         &quot;accessLevel&quot;: { # An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied. # Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels).
           &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
             &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.
diff --git a/docs/dyn/cloudchannel_v1.accounts.customers.entitlements.html b/docs/dyn/cloudchannel_v1.accounts.customers.entitlements.html
index 46fbced..9337eea 100644
--- a/docs/dyn/cloudchannel_v1.accounts.customers.entitlements.html
+++ b/docs/dyn/cloudchannel_v1.accounts.customers.entitlements.html
@@ -105,6 +105,9 @@
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
+  <code><a href="#lookupOffer">lookupOffer(entitlement, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the requested Offer resource. Possible error codes: * PERMISSION_DENIED: The entitlement doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement or offer was not found. Return value: The Offer resource.</p>
+<p class="toc_element">
   <code><a href="#startPaidService">startPaidService(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Starts paid service for a trial entitlement. Starts paid service for a trial entitlement immediately. This method is only applicable if a plan is set up for a trial entitlement but has some trial days remaining. Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement resource not found. * FAILED_PRECONDITION/NOT_IN_TRIAL: This method only works for entitlement on trial plans. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.</p>
 <p class="toc_element">
@@ -617,6 +620,182 @@
 </div>
 
 <div class="method">
+    <code class="details" id="lookupOffer">lookupOffer(entitlement, x__xgafv=None)</code>
+  <pre>Returns the requested Offer resource. Possible error codes: * PERMISSION_DENIED: The entitlement doesn&#x27;t belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement or offer was not found. Return value: The Offer resource.
+
+Args:
+  entitlement: string, Required. The resource name of the entitlement to retrieve the Offer. Entitlement uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an offer made to resellers for purchase. An offer is associated with a Sku, has a plan for payment, a price, and defines the constraints for buying.
+  &quot;constraints&quot;: { # Represents the constraints for buying the Offer. # Constraints on transacting the Offer.
+    &quot;customerConstraints&quot;: { # Represents constraints required to purchase the Offer for a customer. # Represents constraints required to purchase the Offer for a customer.
+      &quot;allowedCustomerTypes&quot;: [ # Allowed Customer Type.
+        &quot;A String&quot;,
+      ],
+      &quot;allowedRegions&quot;: [ # Allowed geographical regions of the customer.
+        &quot;A String&quot;,
+      ],
+      &quot;promotionalOrderTypes&quot;: [ # Allowed Promotional Order Type. Present for Promotional offers.
+        &quot;A String&quot;,
+      ],
+    },
+  },
+  &quot;endTime&quot;: &quot;A String&quot;, # Output only. End of the Offer validity time.
+  &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the Offer.
+    &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
+      &quot;content&quot;: &quot;A String&quot;, # URL of the media.
+      &quot;title&quot;: &quot;A String&quot;, # Title of the media.
+      &quot;type&quot;: &quot;A String&quot;, # Type of the media.
+    },
+    &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
+    &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Resource Name of the Offer. Format: accounts/{account_id}/offers/{offer_id}
+  &quot;parameterDefinitions&quot;: [ # Parameters required to use current Offer to purchase.
+    { # Parameter&#x27;s definition. Specifies what parameter is required to use the current Offer to purchase.
+      &quot;allowedValues&quot;: [ # If not empty, parameter values must be drawn from this list. For example, [us-west1, us-west2, ...] Applicable to STRING parameter type.
+        { # Data type and value of a parameter.
+          &quot;boolValue&quot;: True or False, # Represents a boolean value.
+          &quot;doubleValue&quot;: 3.14, # Represents a double value.
+          &quot;int64Value&quot;: &quot;A String&quot;, # Represents an int64 value.
+          &quot;protoValue&quot;: { # Represents an &#x27;Any&#x27; proto value.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+          &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+        },
+      ],
+      &quot;maxValue&quot;: { # Data type and value of a parameter. # Maximum value of the parameter, if applicable. Inclusive. For example, maximum seats when purchasing Google Workspace Business Standard. Applicable to INT64 and DOUBLE parameter types.
+        &quot;boolValue&quot;: True or False, # Represents a boolean value.
+        &quot;doubleValue&quot;: 3.14, # Represents a double value.
+        &quot;int64Value&quot;: &quot;A String&quot;, # Represents an int64 value.
+        &quot;protoValue&quot;: { # Represents an &#x27;Any&#x27; proto value.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+      },
+      &quot;minValue&quot;: { # Data type and value of a parameter. # Minimal value of the parameter, if applicable. Inclusive. For example, minimal commitment when purchasing Anthos is 0.01. Applicable to INT64 and DOUBLE parameter types.
+        &quot;boolValue&quot;: True or False, # Represents a boolean value.
+        &quot;doubleValue&quot;: 3.14, # Represents a double value.
+        &quot;int64Value&quot;: &quot;A String&quot;, # Represents an int64 value.
+        &quot;protoValue&quot;: { # Represents an &#x27;Any&#x27; proto value.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+        &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Name of the parameter.
+      &quot;optional&quot;: True or False, # If set to true, parameter is optional to purchase this Offer.
+      &quot;parameterType&quot;: &quot;A String&quot;, # Data type of the parameter. Minimal value, Maximum value and allowed values will use specified data type here.
+    },
+  ],
+  &quot;plan&quot;: { # The payment plan for the Offer. Describes how to make a payment. # Describes the payment plan for the Offer.
+    &quot;billingAccount&quot;: &quot;A String&quot;, # Reseller Billing account to charge after an offer transaction. Only present for Google Cloud Platform offers.
+    &quot;paymentCycle&quot;: { # Represents period in days/months/years. # Describes how frequently the reseller will be billed, such as once per month.
+      &quot;duration&quot;: 42, # Total duration of Period Type defined.
+      &quot;periodType&quot;: &quot;A String&quot;, # Period Type.
+    },
+    &quot;paymentPlan&quot;: &quot;A String&quot;, # Describes how a reseller will be billed.
+    &quot;paymentType&quot;: &quot;A String&quot;, # Specifies when the payment needs to happen.
+    &quot;trialPeriod&quot;: { # Represents period in days/months/years. # Present for Offers with a trial period. For trial-only Offers, a paid service needs to start before the trial period ends for continued service. For Regular Offers with a trial period, the regular pricing goes into effect when trial period ends, or if paid service is started before the end of the trial period.
+      &quot;duration&quot;: 42, # Total duration of Period Type defined.
+      &quot;periodType&quot;: &quot;A String&quot;, # Period Type.
+    },
+  },
+  &quot;priceByResources&quot;: [ # Price for each monetizable resource type.
+    { # Represents price by resource type.
+      &quot;price&quot;: { # Represents the price of the Offer. # Price of the Offer. Present if there are no price phases.
+        &quot;basePrice&quot;: { # Represents an amount of money with its currency type. # Base price.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+        &quot;discount&quot;: 3.14, # Discount percentage, represented as decimal. For example, a 20% discount will be represent as 0.2.
+        &quot;effectivePrice&quot;: { # Represents an amount of money with its currency type. # Effective Price after applying the discounts.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+        &quot;externalPriceUri&quot;: &quot;A String&quot;, # Link to external price list, such as link to Google Voice rate card.
+      },
+      &quot;pricePhases&quot;: [ # Specifies the price by time range.
+        { # Specifies the price by the duration of months. For example, a 20% discount for the first six months, then a 10% discount starting on the seventh month.
+          &quot;firstPeriod&quot;: 42, # Defines first period for the phase.
+          &quot;lastPeriod&quot;: 42, # Defines first period for the phase.
+          &quot;periodType&quot;: &quot;A String&quot;, # Defines the phase period type.
+          &quot;price&quot;: { # Represents the price of the Offer. # Price of the phase. Present if there are no price tiers.
+            &quot;basePrice&quot;: { # Represents an amount of money with its currency type. # Base price.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+            &quot;discount&quot;: 3.14, # Discount percentage, represented as decimal. For example, a 20% discount will be represent as 0.2.
+            &quot;effectivePrice&quot;: { # Represents an amount of money with its currency type. # Effective Price after applying the discounts.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+            &quot;externalPriceUri&quot;: &quot;A String&quot;, # Link to external price list, such as link to Google Voice rate card.
+          },
+          &quot;priceTiers&quot;: [ # Price by the resource tiers.
+            { # Defines price at resource tier level. For example, an offer with following definition : * Tier 1: Provide 25% discount for all seats between 1 and 25. * Tier 2: Provide 10% discount for all seats between 26 and 100. * Tier 3: Provide flat 15% discount for all seats above 100. Each of these tiers is represented as a PriceTier.
+              &quot;firstResource&quot;: 42, # First resource for which the tier price applies.
+              &quot;lastResource&quot;: 42, # Last resource for which the tier price applies.
+              &quot;price&quot;: { # Represents the price of the Offer. # Price of the tier.
+                &quot;basePrice&quot;: { # Represents an amount of money with its currency type. # Base price.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+                &quot;discount&quot;: 3.14, # Discount percentage, represented as decimal. For example, a 20% discount will be represent as 0.2.
+                &quot;effectivePrice&quot;: { # Represents an amount of money with its currency type. # Effective Price after applying the discounts.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+                &quot;externalPriceUri&quot;: &quot;A String&quot;, # Link to external price list, such as link to Google Voice rate card.
+              },
+            },
+          ],
+        },
+      ],
+      &quot;resourceType&quot;: &quot;A String&quot;, # Resource Type. Example: SEAT
+    },
+  ],
+  &quot;sku&quot;: { # Represents a product&#x27;s purchasable Stock Keeping Unit (SKU). SKUs represent the different variations of the product. For example, Google Workspace Business Standard and Google Workspace Business Plus are Google Workspace product SKUs. # SKU the offer is associated with.
+    &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the SKU.
+      &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
+        &quot;content&quot;: &quot;A String&quot;, # URL of the media.
+        &quot;title&quot;: &quot;A String&quot;, # Title of the media.
+        &quot;type&quot;: &quot;A String&quot;, # Type of the media.
+      },
+      &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
+      &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
+    },
+    &quot;name&quot;: &quot;A String&quot;, # Resource Name of the SKU. Format: products/{product_id}/skus/{sku_id}
+    &quot;product&quot;: { # A Product is the entity a customer uses when placing an order. For example, Google Workspace, Google Voice, etc. # Product the SKU is associated with.
+      &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the product.
+        &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
+          &quot;content&quot;: &quot;A String&quot;, # URL of the media.
+          &quot;title&quot;: &quot;A String&quot;, # Title of the media.
+          &quot;type&quot;: &quot;A String&quot;, # Type of the media.
+        },
+        &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
+        &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Resource Name of the Product. Format: products/{product_id}
+    },
+  },
+  &quot;startTime&quot;: &quot;A String&quot;, # Start of the Offer validity time.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="startPaidService">startPaidService(name, body=None, x__xgafv=None)</code>
   <pre>Starts paid service for a trial entitlement. Starts paid service for a trial entitlement immediately. This method is only applicable if a plan is set up for a trial entitlement but has some trial days remaining. Possible error codes: * PERMISSION_DENIED: The customer doesn&#x27;t belong to the reseller. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: Entitlement resource not found. * FAILED_PRECONDITION/NOT_IN_TRIAL: This method only works for entitlement on trial plans. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The ID of a long-running operation. To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of OperationMetadata.
 
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/dialogflow_v2.projects.agent.environments.users.sessions.html b/docs/dyn/dialogflow_v2.projects.agent.environments.users.sessions.html
index 6959d0e..a79499a 100644
--- a/docs/dyn/dialogflow_v2.projects.agent.environments.users.sessions.html
+++ b/docs/dyn/dialogflow_v2.projects.agent.environments.users.sessions.html
@@ -189,7 +189,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2.projects.agent.sessions.html b/docs/dyn/dialogflow_v2.projects.agent.sessions.html
index 7a39992..fce4c1c 100644
--- a/docs/dyn/dialogflow_v2.projects.agent.sessions.html
+++ b/docs/dyn/dialogflow_v2.projects.agent.sessions.html
@@ -189,7 +189,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2.projects.conversationProfiles.html b/docs/dyn/dialogflow_v2.projects.conversationProfiles.html
index d938ec5..efa291c 100644
--- a/docs/dyn/dialogflow_v2.projects.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2.projects.conversationProfiles.html
@@ -121,7 +121,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -161,7 +161,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -255,7 +255,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -295,7 +295,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -414,7 +414,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -454,7 +454,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -559,7 +559,7 @@
           &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
             { # Config for suggestion features.
               &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-                &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+                &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
               },
               &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
               &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -599,7 +599,7 @@
           &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
             { # Config for suggestion features.
               &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-                &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+                &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
               },
               &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
               &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -712,7 +712,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -752,7 +752,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -847,7 +847,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -887,7 +887,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
diff --git a/docs/dyn/dialogflow_v2.projects.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.conversations.participants.html
index 0dabd4a..c6f578a 100644
--- a/docs/dyn/dialogflow_v2.projects.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2.projects.conversations.participants.html
@@ -128,7 +128,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.environments.users.sessions.html b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.users.sessions.html
index 25ddd37..f61c60c 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.agent.environments.users.sessions.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.users.sessions.html
@@ -189,7 +189,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html b/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html
index b7b4b5d..a44b4b4 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html
@@ -189,7 +189,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html b/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html
index 751f371..9bfc147 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html
@@ -121,7 +121,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -161,7 +161,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -255,7 +255,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -295,7 +295,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -414,7 +414,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -454,7 +454,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -559,7 +559,7 @@
           &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
             { # Config for suggestion features.
               &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-                &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+                &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
               },
               &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
               &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -599,7 +599,7 @@
           &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
             { # Config for suggestion features.
               &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-                &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+                &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
               },
               &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
               &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -712,7 +712,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -752,7 +752,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -847,7 +847,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -887,7 +887,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html
index ea96b95..30f135f 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html
@@ -128,7 +128,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html
index a6cd929..ecec522 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html
@@ -194,7 +194,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html
index b41b0cd..a2c3ef3 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html
@@ -194,7 +194,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html
index 2f883b5..c9946d8 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html
@@ -121,7 +121,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -161,7 +161,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -255,7 +255,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -295,7 +295,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -414,7 +414,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -454,7 +454,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -559,7 +559,7 @@
           &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
             { # Config for suggestion features.
               &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-                &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+                &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
               },
               &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
               &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -599,7 +599,7 @@
           &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
             { # Config for suggestion features.
               &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-                &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+                &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
               },
               &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
               &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -712,7 +712,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -752,7 +752,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -847,7 +847,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -887,7 +887,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html
index 60a8b3c..cbc9648 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html
@@ -129,7 +129,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.users.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.users.sessions.html
index 30ad96d..3a8ab0d 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.users.sessions.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.environments.users.sessions.html
@@ -194,7 +194,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.sessions.html
index b17b9ee..83b3403 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.agent.sessions.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.agent.sessions.html
@@ -194,7 +194,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html
index 84a003f..b46ae42 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html
@@ -121,7 +121,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -161,7 +161,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -255,7 +255,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -295,7 +295,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -414,7 +414,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -454,7 +454,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -559,7 +559,7 @@
           &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
             { # Config for suggestion features.
               &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-                &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+                &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
               },
               &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
               &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -599,7 +599,7 @@
           &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
             { # Config for suggestion features.
               &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-                &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+                &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
               },
               &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
               &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -712,7 +712,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -752,7 +752,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -847,7 +847,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
@@ -887,7 +887,7 @@
       &quot;featureConfigs&quot;: [ # Configuration of different suggestion features. One feature can have only one config.
         { # Config for suggestion features.
           &quot;conversationModelConfig&quot;: { # Custom conversation models used in agent assist feature. Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY. # Configs of custom conversation model.
-            &quot;model&quot;: &quot;A String&quot;, # Required. Conversation model resource name. Format: `projects//conversationModels/`.
+            &quot;model&quot;: &quot;A String&quot;, # Conversation model resource name. Format: `projects//conversationModels/`.
           },
           &quot;enableEventBasedSuggestion&quot;: True or False, # Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
           &quot;queryConfig&quot;: { # Config for suggestion query. # Configs of query.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html
index 9606d48..ad6d201 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html
@@ -129,7 +129,7 @@
         },
       },
     ],
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &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].
     },
diff --git a/docs/dyn/dialogflow_v3.projects.locations.agents.environments.sessions.html b/docs/dyn/dialogflow_v3.projects.locations.agents.environments.sessions.html
index c99dd15..8f47a90 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.agents.environments.sessions.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.agents.environments.sessions.html
@@ -157,14 +157,14 @@
     &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
     &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
     &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
     &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
-    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
@@ -1034,14 +1034,14 @@
       &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
       &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
       &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-      &quot;geoLocation&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. # The geo location of this conversational query.
+      &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
         &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
       },
       &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
-      &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+      &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
       &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
@@ -1888,14 +1888,14 @@
     &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
     &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
     &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
     &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
-    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
diff --git a/docs/dyn/dialogflow_v3.projects.locations.agents.flows.html b/docs/dyn/dialogflow_v3.projects.locations.agents.flows.html
index 412b338..1e10d9c 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.agents.flows.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.agents.flows.html
@@ -99,12 +99,18 @@
   <code><a href="#delete">delete(name, force=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a specified flow.</p>
 <p class="toc_element">
+  <code><a href="#export">export(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Exports the specified flow to a binary file. Note that resources (e.g. intents, entities, webhooks) that the flow references will also be exported.</p>
+<p class="toc_element">
   <code><a href="#get">get(name, languageCode=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves the specified flow.</p>
 <p class="toc_element">
   <code><a href="#getValidationResult">getValidationResult(name, languageCode=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the latest flow validation result. Flow validation is performed when ValidateFlow is called.</p>
 <p class="toc_element">
+  <code><a href="#import_">import_(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Imports the specified flow to the specified agent from a binary file.</p>
+<p class="toc_element">
   <code><a href="#list">list(parent, languageCode=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns the list of all flows in the specified agent.</p>
 <p class="toc_element">
@@ -658,6 +664,49 @@
 </div>
 
 <div class="method">
+    <code class="details" id="export">export(name, body=None, x__xgafv=None)</code>
+  <pre>Exports the specified flow to a binary file. Note that resources (e.g. intents, entities, webhooks) that the flow references will also be exported.
+
+Args:
+  name: string, Required. The name of the flow to export. Format: `projects//locations//agents//flows/`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request message for Flows.ExportFlow.
+  &quot;flowUri&quot;: &quot;A String&quot;, # Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the flow to. The format of this URI must be `gs:///`. If left unspecified, the serialized flow is returned inline.
+  &quot;includeReferencedFlows&quot;: True or False, # Optional. Whether to export flows referenced by the specified flow.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="get">get(name, languageCode=None, x__xgafv=None)</code>
   <pre>Retrieves the specified flow.
 
@@ -958,6 +1007,50 @@
 </div>
 
 <div class="method">
+    <code class="details" id="import_">import_(parent, body=None, x__xgafv=None)</code>
+  <pre>Imports the specified flow to the specified agent from a binary file.
+
+Args:
+  parent: string, Required. The agent to import the flow into. Format: `projects//locations//agents/`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request message for Flows.ImportFlow.
+  &quot;flowContent&quot;: &quot;A String&quot;, # Uncompressed raw byte content for flow.
+  &quot;flowUri&quot;: &quot;A String&quot;, # The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to import flow from. The format of this URI must be `gs:///`.
+  &quot;importOption&quot;: &quot;A String&quot;, # Flow import mode. If not specified, `KEEP` is assumed.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(parent, languageCode=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>Returns the list of all flows in the specified agent.
 
diff --git a/docs/dyn/dialogflow_v3.projects.locations.agents.html b/docs/dyn/dialogflow_v3.projects.locations.agents.html
index de28ca1..b7bc010 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.agents.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.agents.html
@@ -170,6 +170,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }
 
@@ -194,6 +197,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }</pre>
 </div>
@@ -227,6 +233,7 @@
 
 { # The request message for Agents.ExportAgent.
   &quot;agentUri&quot;: &quot;A String&quot;, # Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the agent to. The format of this URI must be `gs:///`. If left unspecified, the serialized agent is returned inline.
+  &quot;environment&quot;: &quot;A String&quot;, # Optional. Environment name. If not set, draft environment is assumed. Format: `projects//locations//agents//environments/`.
 }
 
   x__xgafv: string, V1 error format.
@@ -285,6 +292,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }</pre>
 </div>
@@ -362,6 +372,9 @@
         &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
       },
       &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+      &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+        &quot;A String&quot;,
+      ],
       &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
     },
   ],
@@ -405,6 +418,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }
 
@@ -430,6 +446,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }</pre>
 </div>
diff --git a/docs/dyn/dialogflow_v3.projects.locations.agents.sessions.html b/docs/dyn/dialogflow_v3.projects.locations.agents.sessions.html
index 99d6c5e..a536cf2 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.agents.sessions.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.agents.sessions.html
@@ -157,14 +157,14 @@
     &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
     &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
     &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
     &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
-    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
@@ -1034,14 +1034,14 @@
       &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
       &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
       &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-      &quot;geoLocation&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. # The geo location of this conversational query.
+      &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
         &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
       },
       &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
-      &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+      &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
       &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
@@ -1888,14 +1888,14 @@
     &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
     &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
     &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
     &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
-    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.environments.sessions.html b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.environments.sessions.html
index 7ff4b74..a0bf6bd 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.environments.sessions.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.environments.sessions.html
@@ -157,14 +157,14 @@
     &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
     &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
     &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
     &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
-    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
@@ -1034,14 +1034,14 @@
       &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
       &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
       &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-      &quot;geoLocation&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. # The geo location of this conversational query.
+      &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
         &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
       },
       &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
-      &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+      &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
       &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
@@ -1888,14 +1888,14 @@
     &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
     &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
     &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
     &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
-    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.flows.html b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.flows.html
index 5634424..a0d13fc 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.flows.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.flows.html
@@ -99,12 +99,18 @@
   <code><a href="#delete">delete(name, force=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a specified flow.</p>
 <p class="toc_element">
+  <code><a href="#export">export(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Exports the specified flow to a binary file. Note that resources (e.g. intents, entities, webhooks) that the flow references will also be exported.</p>
+<p class="toc_element">
   <code><a href="#get">get(name, languageCode=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves the specified flow.</p>
 <p class="toc_element">
   <code><a href="#getValidationResult">getValidationResult(name, languageCode=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the latest flow validation result. Flow validation is performed when ValidateFlow is called.</p>
 <p class="toc_element">
+  <code><a href="#import_">import_(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Imports the specified flow to the specified agent from a binary file.</p>
+<p class="toc_element">
   <code><a href="#list">list(parent, languageCode=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns the list of all flows in the specified agent.</p>
 <p class="toc_element">
@@ -658,6 +664,49 @@
 </div>
 
 <div class="method">
+    <code class="details" id="export">export(name, body=None, x__xgafv=None)</code>
+  <pre>Exports the specified flow to a binary file. Note that resources (e.g. intents, entities, webhooks) that the flow references will also be exported.
+
+Args:
+  name: string, Required. The name of the flow to export. Format: `projects//locations//agents//flows/`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request message for Flows.ExportFlow.
+  &quot;flowUri&quot;: &quot;A String&quot;, # Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the flow to. The format of this URI must be `gs:///`. If left unspecified, the serialized flow is returned inline.
+  &quot;includeReferencedFlows&quot;: True or False, # Optional. Whether to export flows referenced by the specified flow.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="get">get(name, languageCode=None, x__xgafv=None)</code>
   <pre>Retrieves the specified flow.
 
@@ -958,6 +1007,50 @@
 </div>
 
 <div class="method">
+    <code class="details" id="import_">import_(parent, body=None, x__xgafv=None)</code>
+  <pre>Imports the specified flow to the specified agent from a binary file.
+
+Args:
+  parent: string, Required. The agent to import the flow into. Format: `projects//locations//agents/`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request message for Flows.ImportFlow.
+  &quot;flowContent&quot;: &quot;A String&quot;, # Uncompressed raw byte content for flow.
+  &quot;flowUri&quot;: &quot;A String&quot;, # The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to import flow from. The format of this URI must be `gs:///`.
+  &quot;importOption&quot;: &quot;A String&quot;, # Flow import mode. If not specified, `KEEP` is assumed.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(parent, languageCode=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>Returns the list of all flows in the specified agent.
 
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.html b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.html
index 6a47cae..886cfcd 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.html
@@ -170,6 +170,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }
 
@@ -194,6 +197,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }</pre>
 </div>
@@ -227,6 +233,7 @@
 
 { # The request message for Agents.ExportAgent.
   &quot;agentUri&quot;: &quot;A String&quot;, # Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the agent to. The format of this URI must be `gs:///`. If left unspecified, the serialized agent is returned inline.
+  &quot;environment&quot;: &quot;A String&quot;, # Optional. Environment name. If not set, draft environment is assumed. Format: `projects//locations//agents//environments/`.
 }
 
   x__xgafv: string, V1 error format.
@@ -285,6 +292,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }</pre>
 </div>
@@ -362,6 +372,9 @@
         &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
       },
       &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+      &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+        &quot;A String&quot;,
+      ],
       &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
     },
   ],
@@ -405,6 +418,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }
 
@@ -430,6 +446,9 @@
     &quot;enableSpeechAdaptation&quot;: True or False, # Whether to use speech adaptation for speech recognition.
   },
   &quot;startFlow&quot;: &quot;A String&quot;, # Immutable. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: `projects//locations//agents//flows/`.
+  &quot;supportedLanguageCodes&quot;: [ # The list of all languages supported by the agent (except for the `default_language_code`).
+    &quot;A String&quot;,
+  ],
   &quot;timeZone&quot;: &quot;A String&quot;, # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
 }</pre>
 </div>
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.sessions.html b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.sessions.html
index abf314e..fe7a9b2 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.sessions.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.sessions.html
@@ -157,14 +157,14 @@
     &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
     &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
     &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
     &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
-    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
@@ -1034,14 +1034,14 @@
       &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
       &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
       &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-      &quot;geoLocation&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. # The geo location of this conversational query.
+      &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
         &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
       },
       &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
-      &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+      &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
       &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
@@ -1888,14 +1888,14 @@
     &quot;analyzeQueryTextSentiment&quot;: True or False, # Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
     &quot;currentPage&quot;: &quot;A String&quot;, # The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//pages/`. If `current_page` is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
     &quot;disableWebhook&quot;: True or False, # Whether to disable webhook calls for this request.
-    &quot;geoLocation&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. # The geo location of this conversational query.
+    &quot;geoLocation&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
       &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
     &quot;parameters&quot;: { # Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value: parameter name - MapValue type: - If parameter&#x27;s entity type is a composite entity: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter&#x27;s entity type is a composite entity: map from composite entity property names to property values - Else: parameter value
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
-    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.
+    &quot;payload&quot;: { # This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form: { &quot;telephony&quot;: { &quot;caller_id&quot;: &quot;+18558363987&quot; } }
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
     },
     &quot;sessionEntityTypes&quot;: [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
diff --git a/docs/dyn/file_v1.projects.locations.backups.html b/docs/dyn/file_v1.projects.locations.backups.html
index ce32fa9..9ca9cf5 100644
--- a/docs/dyn/file_v1.projects.locations.backups.html
+++ b/docs/dyn/file_v1.projects.locations.backups.html
@@ -119,6 +119,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the backup, in the format projects/{project_number}/locations/{location_id}/backups/{backup_id}.
+  &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;sourceFileShare&quot;: &quot;A String&quot;, # Name of the file share in the source Cloud Filestore instance that the backup is created from.
   &quot;sourceInstance&quot;: &quot;A String&quot;, # The resource name of the source Cloud Filestore instance, in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}, used to create this backup.
   &quot;sourceInstanceTier&quot;: &quot;A String&quot;, # Output only. The service tier of the source Cloud Filestore instance that this backup is created from.
@@ -214,6 +215,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the backup, in the format projects/{project_number}/locations/{location_id}/backups/{backup_id}.
+  &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;sourceFileShare&quot;: &quot;A String&quot;, # Name of the file share in the source Cloud Filestore instance that the backup is created from.
   &quot;sourceInstance&quot;: &quot;A String&quot;, # The resource name of the source Cloud Filestore instance, in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}, used to create this backup.
   &quot;sourceInstanceTier&quot;: &quot;A String&quot;, # Output only. The service tier of the source Cloud Filestore instance that this backup is created from.
@@ -251,6 +253,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the backup, in the format projects/{project_number}/locations/{location_id}/backups/{backup_id}.
+      &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
       &quot;sourceFileShare&quot;: &quot;A String&quot;, # Name of the file share in the source Cloud Filestore instance that the backup is created from.
       &quot;sourceInstance&quot;: &quot;A String&quot;, # The resource name of the source Cloud Filestore instance, in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}, used to create this backup.
       &quot;sourceInstanceTier&quot;: &quot;A String&quot;, # Output only. The service tier of the source Cloud Filestore instance that this backup is created from.
@@ -297,6 +300,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the backup, in the format projects/{project_number}/locations/{location_id}/backups/{backup_id}.
+  &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;sourceFileShare&quot;: &quot;A String&quot;, # Name of the file share in the source Cloud Filestore instance that the backup is created from.
   &quot;sourceInstance&quot;: &quot;A String&quot;, # The resource name of the source Cloud Filestore instance, in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}, used to create this backup.
   &quot;sourceInstanceTier&quot;: &quot;A String&quot;, # Output only. The service tier of the source Cloud Filestore instance that this backup is created from.
diff --git a/docs/dyn/firestore_v1.projects.databases.documents.html b/docs/dyn/firestore_v1.projects.databases.documents.html
index dc47e0d..40e9d55 100644
--- a/docs/dyn/firestore_v1.projects.databases.documents.html
+++ b/docs/dyn/firestore_v1.projects.databases.documents.html
@@ -175,11 +175,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
     &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -234,16 +230,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -263,11 +274,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -287,11 +294,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -312,7 +315,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -323,11 +345,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -359,16 +377,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -388,11 +421,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -412,11 +441,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -437,7 +462,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -471,11 +515,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -563,16 +603,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -592,11 +647,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -616,11 +667,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -641,7 +688,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -652,11 +718,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -688,16 +750,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -717,11 +794,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -741,11 +814,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -766,7 +835,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -790,11 +878,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -834,11 +918,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -876,11 +956,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -946,11 +1022,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1003,11 +1075,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
       &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1117,11 +1185,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
             { # A message that can hold any of the supported value types.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1169,11 +1233,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
             { # A message that can hold any of the supported value types.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1207,11 +1267,7 @@
             },
             &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
             &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1264,11 +1320,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
       &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1354,11 +1406,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1406,11 +1454,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1444,11 +1488,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1493,11 +1533,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1549,11 +1585,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1593,11 +1625,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1671,11 +1699,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1723,11 +1747,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1761,11 +1781,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1809,11 +1825,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
     &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1870,16 +1882,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1899,11 +1926,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1923,11 +1946,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1948,7 +1967,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -1959,11 +1997,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1995,16 +2029,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2024,11 +2073,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2048,11 +2093,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2073,7 +2114,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -2099,11 +2159,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
diff --git a/docs/dyn/gkehub_v1alpha.projects.locations.features.html b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
index 70468df..fa21e4c 100644
--- a/docs/dyn/gkehub_v1alpha.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
@@ -78,9 +78,27 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
+  <code><a href="#create">create(parent, body=None, featureId=None, requestId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Adds a new Feature.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, force=None, requestId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Removes a Feature.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets details of a single Feature.</p>
+<p class="toc_element">
   <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
 <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(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists Features in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates an existing Feature.</p>
+<p class="toc_element">
   <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.</p>
 <p class="toc_element">
@@ -93,6 +111,576 @@
 </div>
 
 <div class="method">
+    <code class="details" id="create">create(parent, body=None, featureId=None, requestId=None, x__xgafv=None)</code>
+  <pre>Adds a new Feature.
+
+Args:
+  parent: string, The parent (project and location) where the Feature will be created. Specified in the format `projects/*/locations/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Feature represents the settings and status of any Hub Feature.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was deleted.
+  &quot;labels&quot;: { # GCP labels for this Feature.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
+    &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+        &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+          &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+        },
+        &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+          &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+            &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+            &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+            &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+            &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+            &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+            &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+            &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+            &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+          },
+          &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+        },
+        &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+          &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+          &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+          &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+        },
+        &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+          &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+          &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+          &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+            &quot;A String&quot;,
+          ],
+          &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+          &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+          &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+        },
+        &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+      },
+    },
+  },
+  &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+    &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
+      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+        &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
+          &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
+            &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
+          },
+          &quot;webhook&quot;: &quot;A String&quot;, # The state of the binauthz webhook.
+        },
+        &quot;clusterName&quot;: &quot;A String&quot;, # The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership&#x27;s membership_name, unless the user installed ACM on the cluster manually prior to enabling the ACM hub feature. Unique within a Anthos Config Management installation.
+        &quot;configSyncState&quot;: { # State information for ConfigSync # Current sync status
+          &quot;deploymentState&quot;: { # The state of ConfigSync&#x27;s deployment on a cluster # Information about the deployment of ConfigSync, including the version of the various Pods deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Deployment state of the git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Deployment state of the importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Deployment state of the monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Deployment state of reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Deployment state of root-reconciler
+            &quot;syncer&quot;: &quot;A String&quot;, # Deployment state of the syncer pod
+          },
+          &quot;syncState&quot;: { # State indicating an ACM&#x27;s progress syncing configurations to a cluster # The state of ConfigSync&#x27;s process to sync configs to a cluster
+            &quot;code&quot;: &quot;A String&quot;, # Sync status code
+            &quot;errors&quot;: [ # A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.
+              { # An ACM created error representing a problem syncing configurations
+                &quot;code&quot;: &quot;A String&quot;, # An ACM defined error code
+                &quot;errorMessage&quot;: &quot;A String&quot;, # A description of the error
+                &quot;errorResources&quot;: [ # A list of config(s) associated with the error, if any
+                  { # Model for a config file in the git repo with an associated Sync error
+                    &quot;resourceGvk&quot;: { # A Kubernetes object&#x27;s GVK # Group/version/kind of the resource that is causing an error
+                      &quot;group&quot;: &quot;A String&quot;, # Kubernetes Group
+                      &quot;kind&quot;: &quot;A String&quot;, # Kubernetes Kind
+                      &quot;version&quot;: &quot;A String&quot;, # Kubernetes Version
+                    },
+                    &quot;resourceName&quot;: &quot;A String&quot;, # Metadata name of the resource that is causing an error
+                    &quot;resourceNamespace&quot;: &quot;A String&quot;, # Namespace of the resource that is causing an error
+                    &quot;sourcePath&quot;: &quot;A String&quot;, # Path in the git repo of the erroneous config
+                  },
+                ],
+              },
+            ],
+            &quot;importToken&quot;: &quot;A String&quot;, # Token indicating the state of the importer.
+            &quot;lastSync&quot;: &quot;A String&quot;, # Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)
+            &quot;lastSyncTime&quot;: &quot;A String&quot;, # Timestamp type of when ACM last successfully synced the repo
+            &quot;sourceToken&quot;: &quot;A String&quot;, # Token indicating the state of the repo.
+            &quot;syncToken&quot;: &quot;A String&quot;, # Token indicating the state of the syncer.
+          },
+          &quot;version&quot;: { # Specific versioning information pertaining to ConfigSync&#x27;s Pods # The version of ConfigSync deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Version of the deployed git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Version of the deployed importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Version of the deployed monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Version of the deployed reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Version of the deployed reconciler container in root-reconciler pod
+            &quot;syncer&quot;: &quot;A String&quot;, # Version of the deployed syncer pod
+          },
+        },
+        &quot;hierarchyControllerState&quot;: { # State for Hierarchy Controller # Hierarchy Controller status
+          &quot;state&quot;: { # Deployment state for Hierarchy Controller # The deployment state for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
+            &quot;hnc&quot;: &quot;A String&quot;, # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
+          },
+          &quot;version&quot;: { # Version for Hierarchy Controller # The version for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # Version for Hierarchy Controller extension
+            &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
+          },
+        },
+        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+          &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+            &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+          },
+          &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+            &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+              &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+              &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+              &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+              &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+              &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+              &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+              &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+              &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+            },
+            &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+          },
+          &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+            &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+            &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+            &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+          },
+          &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+            &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+            &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+            &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+              &quot;A String&quot;,
+            ],
+            &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+            &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+            &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+          },
+          &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+        },
+        &quot;operatorState&quot;: { # State information for an ACM&#x27;s Operator # Current install status of ACM&#x27;s Operator
+          &quot;deploymentState&quot;: &quot;A String&quot;, # The state of the Operator&#x27;s deployment
+          &quot;errors&quot;: [ # Install errors.
+            { # Errors pertaining to the installation of ACM
+              &quot;errorMessage&quot;: &quot;A String&quot;, # A string representing the user facing error message
+            },
+          ],
+          &quot;version&quot;: &quot;A String&quot;, # The semenatic version number of the operator
+        },
+        &quot;policyControllerState&quot;: { # State for PolicyControllerState. # PolicyController status
+          &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
+            &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
+            &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+          },
+          &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
+            &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
+          },
+        },
+      },
+      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+        &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
+        &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
+      },
+      &quot;servicemesh&quot;: { # MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership. # Service Mesh-specific state.
+        &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
+          { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
+            &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+            &quot;description&quot;: &quot;A String&quot;, # A human readable description of what the error means. It is suitable for non-internationalize display purposes.
+            &quot;messageBase&quot;: { # AnalysisMessageBase describes some common information that is needed for all messages. # Details common to all types of Istio and ServiceMesh analysis messages.
+              &quot;documentationUrl&quot;: &quot;A String&quot;, # A url pointing to the Service Mesh or Istio documentation for this specific error type.
+              &quot;level&quot;: &quot;A String&quot;, # Represents how severe a message is.
+              &quot;type&quot;: { # A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type # Represents the specific type of a message.
+                &quot;code&quot;: &quot;A String&quot;, # A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. &quot;IST0001&quot; is mapped to the &quot;InternalError&quot; message type.)
+                &quot;displayName&quot;: &quot;A String&quot;, # A human-readable name for the message type. e.g. &quot;InternalError&quot;, &quot;PodMissingProxy&quot;. This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)
+              },
+            },
+            &quot;resourcePaths&quot;: [ # A list of strings specifying the resource identifiers that were the cause of message generation. A &quot;path&quot; here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster
+              &quot;A String&quot;,
+            ],
+          },
+        ],
+      },
+      &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # The high-level state of this Feature for a single membership.
+        &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+        &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+        &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+      },
+    },
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.
+  &quot;resourceState&quot;: { # FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the &quot;running state&quot; of the Feature in the Hub and across Memberships. # Output only. State of the Feature resource itself.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
+  },
+  &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
+    &quot;cloudauditlogging&quot;: { # Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
+      &quot;allowlistedServiceAccounts&quot;: [ # Service account that should be allowlisted to send the audit logs; eg cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to have any permissions granted to them. The customer&#x27;s entitlements will be checked prior to allowlisting (i.e. the customer must be an Anthos customer.)
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+      &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
+      &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
+    },
+  },
+  &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
+    &quot;servicemesh&quot;: { # FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub. # Service Mesh-specific state.
+      &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
+        { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
+          &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+          &quot;description&quot;: &quot;A String&quot;, # A human readable description of what the error means. It is suitable for non-internationalize display purposes.
+          &quot;messageBase&quot;: { # AnalysisMessageBase describes some common information that is needed for all messages. # Details common to all types of Istio and ServiceMesh analysis messages.
+            &quot;documentationUrl&quot;: &quot;A String&quot;, # A url pointing to the Service Mesh or Istio documentation for this specific error type.
+            &quot;level&quot;: &quot;A String&quot;, # Represents how severe a message is.
+            &quot;type&quot;: { # A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type # Represents the specific type of a message.
+              &quot;code&quot;: &quot;A String&quot;, # A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. &quot;IST0001&quot; is mapped to the &quot;InternalError&quot; message type.)
+              &quot;displayName&quot;: &quot;A String&quot;, # A human-readable name for the message type. e.g. &quot;InternalError&quot;, &quot;PodMissingProxy&quot;. This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)
+            },
+          },
+          &quot;resourcePaths&quot;: [ # A list of strings specifying the resource identifiers that were the cause of message generation. A &quot;path&quot; here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster
+            &quot;A String&quot;,
+          ],
+        },
+      ],
+    },
+    &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # Output only. The &quot;running state&quot; of the Feature in this Hub.
+      &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+      &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+      &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+    },
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was last updated.
+}
+
+  featureId: string, The ID of the feature to create.
+  requestId: string, Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, force=None, requestId=None, x__xgafv=None)</code>
+  <pre>Removes a Feature.
+
+Args:
+  name: string, The Feature resource name in the format `projects/*/locations/*/features/*`. (required)
+  force: boolean, If set to true, the delete will ignore any outstanding resources for this Feature (that is, `FeatureState.has_resources` is set to true). These resources will NOT be cleaned up or modified in any way.
+  requestId: string, Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets details of a single Feature.
+
+Args:
+  name: string, The Feature resource name in the format `projects/*/locations/*/features/*` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Feature represents the settings and status of any Hub Feature.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was deleted.
+  &quot;labels&quot;: { # GCP labels for this Feature.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
+    &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+        &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+          &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+        },
+        &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+          &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+            &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+            &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+            &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+            &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+            &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+            &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+            &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+            &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+          },
+          &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+        },
+        &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+          &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+          &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+          &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+        },
+        &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+          &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+          &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+          &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+            &quot;A String&quot;,
+          ],
+          &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+          &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+          &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+        },
+        &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+      },
+    },
+  },
+  &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+    &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
+      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+        &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
+          &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
+            &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
+          },
+          &quot;webhook&quot;: &quot;A String&quot;, # The state of the binauthz webhook.
+        },
+        &quot;clusterName&quot;: &quot;A String&quot;, # The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership&#x27;s membership_name, unless the user installed ACM on the cluster manually prior to enabling the ACM hub feature. Unique within a Anthos Config Management installation.
+        &quot;configSyncState&quot;: { # State information for ConfigSync # Current sync status
+          &quot;deploymentState&quot;: { # The state of ConfigSync&#x27;s deployment on a cluster # Information about the deployment of ConfigSync, including the version of the various Pods deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Deployment state of the git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Deployment state of the importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Deployment state of the monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Deployment state of reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Deployment state of root-reconciler
+            &quot;syncer&quot;: &quot;A String&quot;, # Deployment state of the syncer pod
+          },
+          &quot;syncState&quot;: { # State indicating an ACM&#x27;s progress syncing configurations to a cluster # The state of ConfigSync&#x27;s process to sync configs to a cluster
+            &quot;code&quot;: &quot;A String&quot;, # Sync status code
+            &quot;errors&quot;: [ # A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.
+              { # An ACM created error representing a problem syncing configurations
+                &quot;code&quot;: &quot;A String&quot;, # An ACM defined error code
+                &quot;errorMessage&quot;: &quot;A String&quot;, # A description of the error
+                &quot;errorResources&quot;: [ # A list of config(s) associated with the error, if any
+                  { # Model for a config file in the git repo with an associated Sync error
+                    &quot;resourceGvk&quot;: { # A Kubernetes object&#x27;s GVK # Group/version/kind of the resource that is causing an error
+                      &quot;group&quot;: &quot;A String&quot;, # Kubernetes Group
+                      &quot;kind&quot;: &quot;A String&quot;, # Kubernetes Kind
+                      &quot;version&quot;: &quot;A String&quot;, # Kubernetes Version
+                    },
+                    &quot;resourceName&quot;: &quot;A String&quot;, # Metadata name of the resource that is causing an error
+                    &quot;resourceNamespace&quot;: &quot;A String&quot;, # Namespace of the resource that is causing an error
+                    &quot;sourcePath&quot;: &quot;A String&quot;, # Path in the git repo of the erroneous config
+                  },
+                ],
+              },
+            ],
+            &quot;importToken&quot;: &quot;A String&quot;, # Token indicating the state of the importer.
+            &quot;lastSync&quot;: &quot;A String&quot;, # Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)
+            &quot;lastSyncTime&quot;: &quot;A String&quot;, # Timestamp type of when ACM last successfully synced the repo
+            &quot;sourceToken&quot;: &quot;A String&quot;, # Token indicating the state of the repo.
+            &quot;syncToken&quot;: &quot;A String&quot;, # Token indicating the state of the syncer.
+          },
+          &quot;version&quot;: { # Specific versioning information pertaining to ConfigSync&#x27;s Pods # The version of ConfigSync deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Version of the deployed git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Version of the deployed importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Version of the deployed monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Version of the deployed reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Version of the deployed reconciler container in root-reconciler pod
+            &quot;syncer&quot;: &quot;A String&quot;, # Version of the deployed syncer pod
+          },
+        },
+        &quot;hierarchyControllerState&quot;: { # State for Hierarchy Controller # Hierarchy Controller status
+          &quot;state&quot;: { # Deployment state for Hierarchy Controller # The deployment state for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
+            &quot;hnc&quot;: &quot;A String&quot;, # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
+          },
+          &quot;version&quot;: { # Version for Hierarchy Controller # The version for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # Version for Hierarchy Controller extension
+            &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
+          },
+        },
+        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+          &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+            &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+          },
+          &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+            &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+              &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+              &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+              &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+              &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+              &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+              &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+              &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+              &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+            },
+            &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+          },
+          &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+            &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+            &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+            &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+          },
+          &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+            &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+            &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+            &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+              &quot;A String&quot;,
+            ],
+            &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+            &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+            &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+          },
+          &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+        },
+        &quot;operatorState&quot;: { # State information for an ACM&#x27;s Operator # Current install status of ACM&#x27;s Operator
+          &quot;deploymentState&quot;: &quot;A String&quot;, # The state of the Operator&#x27;s deployment
+          &quot;errors&quot;: [ # Install errors.
+            { # Errors pertaining to the installation of ACM
+              &quot;errorMessage&quot;: &quot;A String&quot;, # A string representing the user facing error message
+            },
+          ],
+          &quot;version&quot;: &quot;A String&quot;, # The semenatic version number of the operator
+        },
+        &quot;policyControllerState&quot;: { # State for PolicyControllerState. # PolicyController status
+          &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
+            &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
+            &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+          },
+          &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
+            &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
+          },
+        },
+      },
+      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+        &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
+        &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
+      },
+      &quot;servicemesh&quot;: { # MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership. # Service Mesh-specific state.
+        &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
+          { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
+            &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+            &quot;description&quot;: &quot;A String&quot;, # A human readable description of what the error means. It is suitable for non-internationalize display purposes.
+            &quot;messageBase&quot;: { # AnalysisMessageBase describes some common information that is needed for all messages. # Details common to all types of Istio and ServiceMesh analysis messages.
+              &quot;documentationUrl&quot;: &quot;A String&quot;, # A url pointing to the Service Mesh or Istio documentation for this specific error type.
+              &quot;level&quot;: &quot;A String&quot;, # Represents how severe a message is.
+              &quot;type&quot;: { # A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type # Represents the specific type of a message.
+                &quot;code&quot;: &quot;A String&quot;, # A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. &quot;IST0001&quot; is mapped to the &quot;InternalError&quot; message type.)
+                &quot;displayName&quot;: &quot;A String&quot;, # A human-readable name for the message type. e.g. &quot;InternalError&quot;, &quot;PodMissingProxy&quot;. This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)
+              },
+            },
+            &quot;resourcePaths&quot;: [ # A list of strings specifying the resource identifiers that were the cause of message generation. A &quot;path&quot; here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster
+              &quot;A String&quot;,
+            ],
+          },
+        ],
+      },
+      &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # The high-level state of this Feature for a single membership.
+        &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+        &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+        &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+      },
+    },
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.
+  &quot;resourceState&quot;: { # FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the &quot;running state&quot; of the Feature in the Hub and across Memberships. # Output only. State of the Feature resource itself.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
+  },
+  &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
+    &quot;cloudauditlogging&quot;: { # Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
+      &quot;allowlistedServiceAccounts&quot;: [ # Service account that should be allowlisted to send the audit logs; eg cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to have any permissions granted to them. The customer&#x27;s entitlements will be checked prior to allowlisting (i.e. the customer must be an Anthos customer.)
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+      &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
+      &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
+    },
+  },
+  &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
+    &quot;servicemesh&quot;: { # FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub. # Service Mesh-specific state.
+      &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
+        { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
+          &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+          &quot;description&quot;: &quot;A String&quot;, # A human readable description of what the error means. It is suitable for non-internationalize display purposes.
+          &quot;messageBase&quot;: { # AnalysisMessageBase describes some common information that is needed for all messages. # Details common to all types of Istio and ServiceMesh analysis messages.
+            &quot;documentationUrl&quot;: &quot;A String&quot;, # A url pointing to the Service Mesh or Istio documentation for this specific error type.
+            &quot;level&quot;: &quot;A String&quot;, # Represents how severe a message is.
+            &quot;type&quot;: { # A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type # Represents the specific type of a message.
+              &quot;code&quot;: &quot;A String&quot;, # A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. &quot;IST0001&quot; is mapped to the &quot;InternalError&quot; message type.)
+              &quot;displayName&quot;: &quot;A String&quot;, # A human-readable name for the message type. e.g. &quot;InternalError&quot;, &quot;PodMissingProxy&quot;. This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)
+            },
+          },
+          &quot;resourcePaths&quot;: [ # A list of strings specifying the resource identifiers that were the cause of message generation. A &quot;path&quot; here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster
+            &quot;A String&quot;,
+          ],
+        },
+      ],
+    },
+    &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # Output only. The &quot;running state&quot; of the Feature in this Hub.
+      &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+      &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+      &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+    },
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was last updated.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
   <pre>Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
 
@@ -141,6 +729,562 @@
 </div>
 
 <div class="method">
+    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists Features in a given project and location.
+
+Args:
+  parent: string, The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*`. (required)
+  filter: string, Lists Features that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name &quot;servicemesh&quot; in project &quot;foo-proj&quot;: name = &quot;projects/foo-proj/locations/global/features/servicemesh&quot; - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar
+  orderBy: string, One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.
+  pageSize: integer, When requesting a &#x27;page&#x27; of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.
+  pageToken: string, Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the `GkeHub.ListFeatures` method.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to request the next page of resources from the `ListFeatures` method. The value of an empty string means that there are no more resources to return.
+  &quot;resources&quot;: [ # The list of matching Features
+    { # Feature represents the settings and status of any Hub Feature.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was created.
+      &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was deleted.
+      &quot;labels&quot;: { # GCP labels for this Feature.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
+        &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+          &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+            &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+              &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+            },
+            &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+              &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+                &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+                &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+                &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+                &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+                &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+                &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+                &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+                &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+              },
+              &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+            },
+            &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+              &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+              &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+              &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+            },
+            &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+              &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+              &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+              &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+                &quot;A String&quot;,
+              ],
+              &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+              &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+              &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+            },
+            &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+          },
+        },
+      },
+      &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+        &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
+          &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+            &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
+              &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
+                &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
+              },
+              &quot;webhook&quot;: &quot;A String&quot;, # The state of the binauthz webhook.
+            },
+            &quot;clusterName&quot;: &quot;A String&quot;, # The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership&#x27;s membership_name, unless the user installed ACM on the cluster manually prior to enabling the ACM hub feature. Unique within a Anthos Config Management installation.
+            &quot;configSyncState&quot;: { # State information for ConfigSync # Current sync status
+              &quot;deploymentState&quot;: { # The state of ConfigSync&#x27;s deployment on a cluster # Information about the deployment of ConfigSync, including the version of the various Pods deployed
+                &quot;gitSync&quot;: &quot;A String&quot;, # Deployment state of the git-sync pod
+                &quot;importer&quot;: &quot;A String&quot;, # Deployment state of the importer pod
+                &quot;monitor&quot;: &quot;A String&quot;, # Deployment state of the monitor pod
+                &quot;reconcilerManager&quot;: &quot;A String&quot;, # Deployment state of reconciler-manager pod
+                &quot;rootReconciler&quot;: &quot;A String&quot;, # Deployment state of root-reconciler
+                &quot;syncer&quot;: &quot;A String&quot;, # Deployment state of the syncer pod
+              },
+              &quot;syncState&quot;: { # State indicating an ACM&#x27;s progress syncing configurations to a cluster # The state of ConfigSync&#x27;s process to sync configs to a cluster
+                &quot;code&quot;: &quot;A String&quot;, # Sync status code
+                &quot;errors&quot;: [ # A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.
+                  { # An ACM created error representing a problem syncing configurations
+                    &quot;code&quot;: &quot;A String&quot;, # An ACM defined error code
+                    &quot;errorMessage&quot;: &quot;A String&quot;, # A description of the error
+                    &quot;errorResources&quot;: [ # A list of config(s) associated with the error, if any
+                      { # Model for a config file in the git repo with an associated Sync error
+                        &quot;resourceGvk&quot;: { # A Kubernetes object&#x27;s GVK # Group/version/kind of the resource that is causing an error
+                          &quot;group&quot;: &quot;A String&quot;, # Kubernetes Group
+                          &quot;kind&quot;: &quot;A String&quot;, # Kubernetes Kind
+                          &quot;version&quot;: &quot;A String&quot;, # Kubernetes Version
+                        },
+                        &quot;resourceName&quot;: &quot;A String&quot;, # Metadata name of the resource that is causing an error
+                        &quot;resourceNamespace&quot;: &quot;A String&quot;, # Namespace of the resource that is causing an error
+                        &quot;sourcePath&quot;: &quot;A String&quot;, # Path in the git repo of the erroneous config
+                      },
+                    ],
+                  },
+                ],
+                &quot;importToken&quot;: &quot;A String&quot;, # Token indicating the state of the importer.
+                &quot;lastSync&quot;: &quot;A String&quot;, # Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)
+                &quot;lastSyncTime&quot;: &quot;A String&quot;, # Timestamp type of when ACM last successfully synced the repo
+                &quot;sourceToken&quot;: &quot;A String&quot;, # Token indicating the state of the repo.
+                &quot;syncToken&quot;: &quot;A String&quot;, # Token indicating the state of the syncer.
+              },
+              &quot;version&quot;: { # Specific versioning information pertaining to ConfigSync&#x27;s Pods # The version of ConfigSync deployed
+                &quot;gitSync&quot;: &quot;A String&quot;, # Version of the deployed git-sync pod
+                &quot;importer&quot;: &quot;A String&quot;, # Version of the deployed importer pod
+                &quot;monitor&quot;: &quot;A String&quot;, # Version of the deployed monitor pod
+                &quot;reconcilerManager&quot;: &quot;A String&quot;, # Version of the deployed reconciler-manager pod
+                &quot;rootReconciler&quot;: &quot;A String&quot;, # Version of the deployed reconciler container in root-reconciler pod
+                &quot;syncer&quot;: &quot;A String&quot;, # Version of the deployed syncer pod
+              },
+            },
+            &quot;hierarchyControllerState&quot;: { # State for Hierarchy Controller # Hierarchy Controller status
+              &quot;state&quot;: { # Deployment state for Hierarchy Controller # The deployment state for Hierarchy Controller
+                &quot;extension&quot;: &quot;A String&quot;, # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
+                &quot;hnc&quot;: &quot;A String&quot;, # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
+              },
+              &quot;version&quot;: { # Version for Hierarchy Controller # The version for Hierarchy Controller
+                &quot;extension&quot;: &quot;A String&quot;, # Version for Hierarchy Controller extension
+                &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
+              },
+            },
+            &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+              &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+                &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+              },
+              &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+                &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+                  &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+                  &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+                  &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+                  &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+                  &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+                  &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+                  &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+                  &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+                },
+                &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+              },
+              &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+                &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+                &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+                &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+              },
+              &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+                &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+                &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+                &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+                  &quot;A String&quot;,
+                ],
+                &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+                &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+                &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+              },
+              &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+            },
+            &quot;operatorState&quot;: { # State information for an ACM&#x27;s Operator # Current install status of ACM&#x27;s Operator
+              &quot;deploymentState&quot;: &quot;A String&quot;, # The state of the Operator&#x27;s deployment
+              &quot;errors&quot;: [ # Install errors.
+                { # Errors pertaining to the installation of ACM
+                  &quot;errorMessage&quot;: &quot;A String&quot;, # A string representing the user facing error message
+                },
+              ],
+              &quot;version&quot;: &quot;A String&quot;, # The semenatic version number of the operator
+            },
+            &quot;policyControllerState&quot;: { # State for PolicyControllerState. # PolicyController status
+              &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
+                &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
+                &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+              },
+              &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
+                &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
+              },
+            },
+          },
+          &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+            &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
+            &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
+          },
+          &quot;servicemesh&quot;: { # MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership. # Service Mesh-specific state.
+            &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
+              { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
+                &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
+                  &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+                },
+                &quot;description&quot;: &quot;A String&quot;, # A human readable description of what the error means. It is suitable for non-internationalize display purposes.
+                &quot;messageBase&quot;: { # AnalysisMessageBase describes some common information that is needed for all messages. # Details common to all types of Istio and ServiceMesh analysis messages.
+                  &quot;documentationUrl&quot;: &quot;A String&quot;, # A url pointing to the Service Mesh or Istio documentation for this specific error type.
+                  &quot;level&quot;: &quot;A String&quot;, # Represents how severe a message is.
+                  &quot;type&quot;: { # A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type # Represents the specific type of a message.
+                    &quot;code&quot;: &quot;A String&quot;, # A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. &quot;IST0001&quot; is mapped to the &quot;InternalError&quot; message type.)
+                    &quot;displayName&quot;: &quot;A String&quot;, # A human-readable name for the message type. e.g. &quot;InternalError&quot;, &quot;PodMissingProxy&quot;. This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)
+                  },
+                },
+                &quot;resourcePaths&quot;: [ # A list of strings specifying the resource identifiers that were the cause of message generation. A &quot;path&quot; here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster
+                  &quot;A String&quot;,
+                ],
+              },
+            ],
+          },
+          &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # The high-level state of this Feature for a single membership.
+            &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+            &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+            &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+          },
+        },
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.
+      &quot;resourceState&quot;: { # FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the &quot;running state&quot; of the Feature in the Hub and across Memberships. # Output only. State of the Feature resource itself.
+        &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
+      },
+      &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
+        &quot;cloudauditlogging&quot;: { # Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
+          &quot;allowlistedServiceAccounts&quot;: [ # Service account that should be allowlisted to send the audit logs; eg cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to have any permissions granted to them. The customer&#x27;s entitlements will be checked prior to allowlisting (i.e. the customer must be an Anthos customer.)
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+          &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
+          &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
+        },
+      },
+      &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
+        &quot;servicemesh&quot;: { # FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub. # Service Mesh-specific state.
+          &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
+            { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
+              &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
+                &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+              },
+              &quot;description&quot;: &quot;A String&quot;, # A human readable description of what the error means. It is suitable for non-internationalize display purposes.
+              &quot;messageBase&quot;: { # AnalysisMessageBase describes some common information that is needed for all messages. # Details common to all types of Istio and ServiceMesh analysis messages.
+                &quot;documentationUrl&quot;: &quot;A String&quot;, # A url pointing to the Service Mesh or Istio documentation for this specific error type.
+                &quot;level&quot;: &quot;A String&quot;, # Represents how severe a message is.
+                &quot;type&quot;: { # A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type # Represents the specific type of a message.
+                  &quot;code&quot;: &quot;A String&quot;, # A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. &quot;IST0001&quot; is mapped to the &quot;InternalError&quot; message type.)
+                  &quot;displayName&quot;: &quot;A String&quot;, # A human-readable name for the message type. e.g. &quot;InternalError&quot;, &quot;PodMissingProxy&quot;. This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)
+                },
+              },
+              &quot;resourcePaths&quot;: [ # A list of strings specifying the resource identifiers that were the cause of message generation. A &quot;path&quot; here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+        },
+        &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # Output only. The &quot;running state&quot; of the Feature in this Hub.
+          &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+          &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+          &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+        },
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was last updated.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates an existing Feature.
+
+Args:
+  name: string, The Feature resource name in the format `projects/*/locations/*/features/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Feature represents the settings and status of any Hub Feature.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was deleted.
+  &quot;labels&quot;: { # GCP labels for this Feature.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
+    &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+        &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+          &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+        },
+        &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+          &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+            &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+            &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+            &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+            &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+            &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+            &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+            &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+            &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+          },
+          &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+        },
+        &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+          &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+          &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+          &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+        },
+        &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+          &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+          &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+          &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+            &quot;A String&quot;,
+          ],
+          &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+          &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+          &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+        },
+        &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+      },
+    },
+  },
+  &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+    &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
+      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+        &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
+          &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
+            &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
+          },
+          &quot;webhook&quot;: &quot;A String&quot;, # The state of the binauthz webhook.
+        },
+        &quot;clusterName&quot;: &quot;A String&quot;, # The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership&#x27;s membership_name, unless the user installed ACM on the cluster manually prior to enabling the ACM hub feature. Unique within a Anthos Config Management installation.
+        &quot;configSyncState&quot;: { # State information for ConfigSync # Current sync status
+          &quot;deploymentState&quot;: { # The state of ConfigSync&#x27;s deployment on a cluster # Information about the deployment of ConfigSync, including the version of the various Pods deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Deployment state of the git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Deployment state of the importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Deployment state of the monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Deployment state of reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Deployment state of root-reconciler
+            &quot;syncer&quot;: &quot;A String&quot;, # Deployment state of the syncer pod
+          },
+          &quot;syncState&quot;: { # State indicating an ACM&#x27;s progress syncing configurations to a cluster # The state of ConfigSync&#x27;s process to sync configs to a cluster
+            &quot;code&quot;: &quot;A String&quot;, # Sync status code
+            &quot;errors&quot;: [ # A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.
+              { # An ACM created error representing a problem syncing configurations
+                &quot;code&quot;: &quot;A String&quot;, # An ACM defined error code
+                &quot;errorMessage&quot;: &quot;A String&quot;, # A description of the error
+                &quot;errorResources&quot;: [ # A list of config(s) associated with the error, if any
+                  { # Model for a config file in the git repo with an associated Sync error
+                    &quot;resourceGvk&quot;: { # A Kubernetes object&#x27;s GVK # Group/version/kind of the resource that is causing an error
+                      &quot;group&quot;: &quot;A String&quot;, # Kubernetes Group
+                      &quot;kind&quot;: &quot;A String&quot;, # Kubernetes Kind
+                      &quot;version&quot;: &quot;A String&quot;, # Kubernetes Version
+                    },
+                    &quot;resourceName&quot;: &quot;A String&quot;, # Metadata name of the resource that is causing an error
+                    &quot;resourceNamespace&quot;: &quot;A String&quot;, # Namespace of the resource that is causing an error
+                    &quot;sourcePath&quot;: &quot;A String&quot;, # Path in the git repo of the erroneous config
+                  },
+                ],
+              },
+            ],
+            &quot;importToken&quot;: &quot;A String&quot;, # Token indicating the state of the importer.
+            &quot;lastSync&quot;: &quot;A String&quot;, # Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)
+            &quot;lastSyncTime&quot;: &quot;A String&quot;, # Timestamp type of when ACM last successfully synced the repo
+            &quot;sourceToken&quot;: &quot;A String&quot;, # Token indicating the state of the repo.
+            &quot;syncToken&quot;: &quot;A String&quot;, # Token indicating the state of the syncer.
+          },
+          &quot;version&quot;: { # Specific versioning information pertaining to ConfigSync&#x27;s Pods # The version of ConfigSync deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Version of the deployed git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Version of the deployed importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Version of the deployed monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Version of the deployed reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Version of the deployed reconciler container in root-reconciler pod
+            &quot;syncer&quot;: &quot;A String&quot;, # Version of the deployed syncer pod
+          },
+        },
+        &quot;hierarchyControllerState&quot;: { # State for Hierarchy Controller # Hierarchy Controller status
+          &quot;state&quot;: { # Deployment state for Hierarchy Controller # The deployment state for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
+            &quot;hnc&quot;: &quot;A String&quot;, # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
+          },
+          &quot;version&quot;: { # Version for Hierarchy Controller # The version for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # Version for Hierarchy Controller extension
+            &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
+          },
+        },
+        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+          &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+            &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+          },
+          &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+            &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+              &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+              &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+              &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+              &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+              &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+              &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+              &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+              &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+            },
+            &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+          },
+          &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+            &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+            &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+            &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+          },
+          &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+            &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+            &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+            &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+              &quot;A String&quot;,
+            ],
+            &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+            &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+            &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+          },
+          &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+        },
+        &quot;operatorState&quot;: { # State information for an ACM&#x27;s Operator # Current install status of ACM&#x27;s Operator
+          &quot;deploymentState&quot;: &quot;A String&quot;, # The state of the Operator&#x27;s deployment
+          &quot;errors&quot;: [ # Install errors.
+            { # Errors pertaining to the installation of ACM
+              &quot;errorMessage&quot;: &quot;A String&quot;, # A string representing the user facing error message
+            },
+          ],
+          &quot;version&quot;: &quot;A String&quot;, # The semenatic version number of the operator
+        },
+        &quot;policyControllerState&quot;: { # State for PolicyControllerState. # PolicyController status
+          &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
+            &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
+            &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+          },
+          &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
+            &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
+          },
+        },
+      },
+      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+        &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
+        &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
+      },
+      &quot;servicemesh&quot;: { # MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership. # Service Mesh-specific state.
+        &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
+          { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
+            &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+            &quot;description&quot;: &quot;A String&quot;, # A human readable description of what the error means. It is suitable for non-internationalize display purposes.
+            &quot;messageBase&quot;: { # AnalysisMessageBase describes some common information that is needed for all messages. # Details common to all types of Istio and ServiceMesh analysis messages.
+              &quot;documentationUrl&quot;: &quot;A String&quot;, # A url pointing to the Service Mesh or Istio documentation for this specific error type.
+              &quot;level&quot;: &quot;A String&quot;, # Represents how severe a message is.
+              &quot;type&quot;: { # A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type # Represents the specific type of a message.
+                &quot;code&quot;: &quot;A String&quot;, # A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. &quot;IST0001&quot; is mapped to the &quot;InternalError&quot; message type.)
+                &quot;displayName&quot;: &quot;A String&quot;, # A human-readable name for the message type. e.g. &quot;InternalError&quot;, &quot;PodMissingProxy&quot;. This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)
+              },
+            },
+            &quot;resourcePaths&quot;: [ # A list of strings specifying the resource identifiers that were the cause of message generation. A &quot;path&quot; here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster
+              &quot;A String&quot;,
+            ],
+          },
+        ],
+      },
+      &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # The high-level state of this Feature for a single membership.
+        &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+        &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+        &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+      },
+    },
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.
+  &quot;resourceState&quot;: { # FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the &quot;running state&quot; of the Feature in the Hub and across Memberships. # Output only. State of the Feature resource itself.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
+  },
+  &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
+    &quot;cloudauditlogging&quot;: { # Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
+      &quot;allowlistedServiceAccounts&quot;: [ # Service account that should be allowlisted to send the audit logs; eg cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to have any permissions granted to them. The customer&#x27;s entitlements will be checked prior to allowlisting (i.e. the customer must be an Anthos customer.)
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+      &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
+      &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
+    },
+  },
+  &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
+    &quot;servicemesh&quot;: { # FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub. # Service Mesh-specific state.
+      &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
+        { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
+          &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+          &quot;description&quot;: &quot;A String&quot;, # A human readable description of what the error means. It is suitable for non-internationalize display purposes.
+          &quot;messageBase&quot;: { # AnalysisMessageBase describes some common information that is needed for all messages. # Details common to all types of Istio and ServiceMesh analysis messages.
+            &quot;documentationUrl&quot;: &quot;A String&quot;, # A url pointing to the Service Mesh or Istio documentation for this specific error type.
+            &quot;level&quot;: &quot;A String&quot;, # Represents how severe a message is.
+            &quot;type&quot;: { # A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type # Represents the specific type of a message.
+              &quot;code&quot;: &quot;A String&quot;, # A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. &quot;IST0001&quot; is mapped to the &quot;InternalError&quot; message type.)
+              &quot;displayName&quot;: &quot;A String&quot;, # A human-readable name for the message type. e.g. &quot;InternalError&quot;, &quot;PodMissingProxy&quot;. This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)
+            },
+          },
+          &quot;resourcePaths&quot;: [ # A list of strings specifying the resource identifiers that were the cause of message generation. A &quot;path&quot; here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster
+            &quot;A String&quot;,
+          ],
+        },
+      ],
+    },
+    &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # Output only. The &quot;running state&quot; of the Feature in this Hub.
+      &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+      &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+      &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+    },
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was last updated.
+}
+
+  requestId: string, Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  updateMask: string, Mask of fields to update.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
   <pre>Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 
diff --git a/docs/dyn/gkehub_v1alpha.projects.locations.html b/docs/dyn/gkehub_v1alpha.projects.locations.html
index 870fa9b..81cc96a 100644
--- a/docs/dyn/gkehub_v1alpha.projects.locations.html
+++ b/docs/dyn/gkehub_v1alpha.projects.locations.html
@@ -80,11 +80,6 @@
 <p class="firstline">Returns the features Resource.</p>
 
 <p class="toc_element">
-  <code><a href="gkehub_v1alpha.projects.locations.global_.html">global_()</a></code>
-</p>
-<p class="firstline">Returns the global_ Resource.</p>
-
-<p class="toc_element">
   <code><a href="gkehub_v1alpha.projects.locations.memberships.html">memberships()</a></code>
 </p>
 <p class="firstline">Returns the memberships Resource.</p>
diff --git a/docs/dyn/gkehub_v1beta.projects.locations.features.html b/docs/dyn/gkehub_v1beta.projects.locations.features.html
index fd01813..f857658 100644
--- a/docs/dyn/gkehub_v1beta.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1beta.projects.locations.features.html
@@ -78,9 +78,27 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
+  <code><a href="#create">create(parent, body=None, featureId=None, requestId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Adds a new Feature.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, force=None, requestId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Removes a Feature.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets details of a single Feature.</p>
+<p class="toc_element">
   <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
 <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(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists Features in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates an existing Feature.</p>
+<p class="toc_element">
   <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.</p>
 <p class="toc_element">
@@ -93,6 +111,482 @@
 </div>
 
 <div class="method">
+    <code class="details" id="create">create(parent, body=None, featureId=None, requestId=None, x__xgafv=None)</code>
+  <pre>Adds a new Feature.
+
+Args:
+  parent: string, The parent (project and location) where the Feature will be created. Specified in the format `projects/*/locations/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Feature represents the settings and status of any Hub Feature.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was deleted.
+  &quot;labels&quot;: { # GCP labels for this Feature.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
+    &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+        &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+          &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+        },
+        &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+          &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+            &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+            &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+            &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+            &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+            &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+            &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+            &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+            &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+          },
+          &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+        },
+        &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+          &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+          &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+          &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+        },
+        &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+          &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+          &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+          &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+            &quot;A String&quot;,
+          ],
+          &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+          &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+          &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+        },
+        &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+      },
+    },
+  },
+  &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+    &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
+      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+        &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
+          &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
+            &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
+          },
+          &quot;webhook&quot;: &quot;A String&quot;, # The state of the binauthz webhook.
+        },
+        &quot;clusterName&quot;: &quot;A String&quot;, # The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership&#x27;s membership_name, unless the user installed ACM on the cluster manually prior to enabling the ACM hub feature. Unique within a Anthos Config Management installation.
+        &quot;configSyncState&quot;: { # State information for ConfigSync # Current sync status
+          &quot;deploymentState&quot;: { # The state of ConfigSync&#x27;s deployment on a cluster # Information about the deployment of ConfigSync, including the version of the various Pods deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Deployment state of the git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Deployment state of the importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Deployment state of the monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Deployment state of reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Deployment state of root-reconciler
+            &quot;syncer&quot;: &quot;A String&quot;, # Deployment state of the syncer pod
+          },
+          &quot;syncState&quot;: { # State indicating an ACM&#x27;s progress syncing configurations to a cluster # The state of ConfigSync&#x27;s process to sync configs to a cluster
+            &quot;code&quot;: &quot;A String&quot;, # Sync status code
+            &quot;errors&quot;: [ # A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.
+              { # An ACM created error representing a problem syncing configurations
+                &quot;code&quot;: &quot;A String&quot;, # An ACM defined error code
+                &quot;errorMessage&quot;: &quot;A String&quot;, # A description of the error
+                &quot;errorResources&quot;: [ # A list of config(s) associated with the error, if any
+                  { # Model for a config file in the git repo with an associated Sync error
+                    &quot;resourceGvk&quot;: { # A Kubernetes object&#x27;s GVK # Group/version/kind of the resource that is causing an error
+                      &quot;group&quot;: &quot;A String&quot;, # Kubernetes Group
+                      &quot;kind&quot;: &quot;A String&quot;, # Kubernetes Kind
+                      &quot;version&quot;: &quot;A String&quot;, # Kubernetes Version
+                    },
+                    &quot;resourceName&quot;: &quot;A String&quot;, # Metadata name of the resource that is causing an error
+                    &quot;resourceNamespace&quot;: &quot;A String&quot;, # Namespace of the resource that is causing an error
+                    &quot;sourcePath&quot;: &quot;A String&quot;, # Path in the git repo of the erroneous config
+                  },
+                ],
+              },
+            ],
+            &quot;importToken&quot;: &quot;A String&quot;, # Token indicating the state of the importer.
+            &quot;lastSync&quot;: &quot;A String&quot;, # Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)
+            &quot;lastSyncTime&quot;: &quot;A String&quot;, # Timestamp type of when ACM last successfully synced the repo
+            &quot;sourceToken&quot;: &quot;A String&quot;, # Token indicating the state of the repo.
+            &quot;syncToken&quot;: &quot;A String&quot;, # Token indicating the state of the syncer.
+          },
+          &quot;version&quot;: { # Specific versioning information pertaining to ConfigSync&#x27;s Pods # The version of ConfigSync deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Version of the deployed git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Version of the deployed importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Version of the deployed monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Version of the deployed reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Version of the deployed reconciler container in root-reconciler pod
+            &quot;syncer&quot;: &quot;A String&quot;, # Version of the deployed syncer pod
+          },
+        },
+        &quot;hierarchyControllerState&quot;: { # State for Hierarchy Controller # Hierarchy Controller status
+          &quot;state&quot;: { # Deployment state for Hierarchy Controller # The deployment state for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
+            &quot;hnc&quot;: &quot;A String&quot;, # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
+          },
+          &quot;version&quot;: { # Version for Hierarchy Controller # The version for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # Version for Hierarchy Controller extension
+            &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
+          },
+        },
+        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+          &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+            &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+          },
+          &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+            &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+              &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+              &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+              &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+              &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+              &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+              &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+              &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+              &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+            },
+            &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+          },
+          &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+            &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+            &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+            &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+          },
+          &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+            &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+            &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+            &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+              &quot;A String&quot;,
+            ],
+            &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+            &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+            &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+          },
+          &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+        },
+        &quot;operatorState&quot;: { # State information for an ACM&#x27;s Operator # Current install status of ACM&#x27;s Operator
+          &quot;deploymentState&quot;: &quot;A String&quot;, # The state of the Operator&#x27;s deployment
+          &quot;errors&quot;: [ # Install errors.
+            { # Errors pertaining to the installation of ACM
+              &quot;errorMessage&quot;: &quot;A String&quot;, # A string representing the user facing error message
+            },
+          ],
+          &quot;version&quot;: &quot;A String&quot;, # The semenatic version number of the operator
+        },
+        &quot;policyControllerState&quot;: { # State for PolicyControllerState. # PolicyController status
+          &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
+            &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
+            &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+          },
+          &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
+            &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
+          },
+        },
+      },
+      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+        &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
+        &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
+      },
+      &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # The high-level state of this Feature for a single membership.
+        &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+        &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+        &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+      },
+    },
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.
+  &quot;resourceState&quot;: { # FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the &quot;running state&quot; of the Feature in the Hub and across Memberships. # Output only. State of the Feature resource itself.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
+  },
+  &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
+    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+      &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
+      &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
+    },
+  },
+  &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
+    &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # Output only. The &quot;running state&quot; of the Feature in this Hub.
+      &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+      &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+      &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+    },
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was last updated.
+}
+
+  featureId: string, The ID of the feature to create.
+  requestId: string, Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, force=None, requestId=None, x__xgafv=None)</code>
+  <pre>Removes a Feature.
+
+Args:
+  name: string, The Feature resource name in the format `projects/*/locations/*/features/*`. (required)
+  force: boolean, If set to true, the delete will ignore any outstanding resources for this Feature (that is, `FeatureState.has_resources` is set to true). These resources will NOT be cleaned up or modified in any way.
+  requestId: string, Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets details of a single Feature.
+
+Args:
+  name: string, The Feature resource name in the format `projects/*/locations/*/features/*` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Feature represents the settings and status of any Hub Feature.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was deleted.
+  &quot;labels&quot;: { # GCP labels for this Feature.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
+    &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+        &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+          &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+        },
+        &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+          &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+            &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+            &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+            &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+            &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+            &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+            &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+            &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+            &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+          },
+          &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+        },
+        &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+          &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+          &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+          &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+        },
+        &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+          &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+          &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+          &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+            &quot;A String&quot;,
+          ],
+          &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+          &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+          &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+        },
+        &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+      },
+    },
+  },
+  &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+    &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
+      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+        &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
+          &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
+            &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
+          },
+          &quot;webhook&quot;: &quot;A String&quot;, # The state of the binauthz webhook.
+        },
+        &quot;clusterName&quot;: &quot;A String&quot;, # The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership&#x27;s membership_name, unless the user installed ACM on the cluster manually prior to enabling the ACM hub feature. Unique within a Anthos Config Management installation.
+        &quot;configSyncState&quot;: { # State information for ConfigSync # Current sync status
+          &quot;deploymentState&quot;: { # The state of ConfigSync&#x27;s deployment on a cluster # Information about the deployment of ConfigSync, including the version of the various Pods deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Deployment state of the git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Deployment state of the importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Deployment state of the monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Deployment state of reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Deployment state of root-reconciler
+            &quot;syncer&quot;: &quot;A String&quot;, # Deployment state of the syncer pod
+          },
+          &quot;syncState&quot;: { # State indicating an ACM&#x27;s progress syncing configurations to a cluster # The state of ConfigSync&#x27;s process to sync configs to a cluster
+            &quot;code&quot;: &quot;A String&quot;, # Sync status code
+            &quot;errors&quot;: [ # A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.
+              { # An ACM created error representing a problem syncing configurations
+                &quot;code&quot;: &quot;A String&quot;, # An ACM defined error code
+                &quot;errorMessage&quot;: &quot;A String&quot;, # A description of the error
+                &quot;errorResources&quot;: [ # A list of config(s) associated with the error, if any
+                  { # Model for a config file in the git repo with an associated Sync error
+                    &quot;resourceGvk&quot;: { # A Kubernetes object&#x27;s GVK # Group/version/kind of the resource that is causing an error
+                      &quot;group&quot;: &quot;A String&quot;, # Kubernetes Group
+                      &quot;kind&quot;: &quot;A String&quot;, # Kubernetes Kind
+                      &quot;version&quot;: &quot;A String&quot;, # Kubernetes Version
+                    },
+                    &quot;resourceName&quot;: &quot;A String&quot;, # Metadata name of the resource that is causing an error
+                    &quot;resourceNamespace&quot;: &quot;A String&quot;, # Namespace of the resource that is causing an error
+                    &quot;sourcePath&quot;: &quot;A String&quot;, # Path in the git repo of the erroneous config
+                  },
+                ],
+              },
+            ],
+            &quot;importToken&quot;: &quot;A String&quot;, # Token indicating the state of the importer.
+            &quot;lastSync&quot;: &quot;A String&quot;, # Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)
+            &quot;lastSyncTime&quot;: &quot;A String&quot;, # Timestamp type of when ACM last successfully synced the repo
+            &quot;sourceToken&quot;: &quot;A String&quot;, # Token indicating the state of the repo.
+            &quot;syncToken&quot;: &quot;A String&quot;, # Token indicating the state of the syncer.
+          },
+          &quot;version&quot;: { # Specific versioning information pertaining to ConfigSync&#x27;s Pods # The version of ConfigSync deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Version of the deployed git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Version of the deployed importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Version of the deployed monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Version of the deployed reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Version of the deployed reconciler container in root-reconciler pod
+            &quot;syncer&quot;: &quot;A String&quot;, # Version of the deployed syncer pod
+          },
+        },
+        &quot;hierarchyControllerState&quot;: { # State for Hierarchy Controller # Hierarchy Controller status
+          &quot;state&quot;: { # Deployment state for Hierarchy Controller # The deployment state for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
+            &quot;hnc&quot;: &quot;A String&quot;, # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
+          },
+          &quot;version&quot;: { # Version for Hierarchy Controller # The version for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # Version for Hierarchy Controller extension
+            &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
+          },
+        },
+        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+          &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+            &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+          },
+          &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+            &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+              &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+              &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+              &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+              &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+              &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+              &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+              &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+              &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+            },
+            &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+          },
+          &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+            &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+            &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+            &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+          },
+          &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+            &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+            &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+            &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+              &quot;A String&quot;,
+            ],
+            &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+            &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+            &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+          },
+          &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+        },
+        &quot;operatorState&quot;: { # State information for an ACM&#x27;s Operator # Current install status of ACM&#x27;s Operator
+          &quot;deploymentState&quot;: &quot;A String&quot;, # The state of the Operator&#x27;s deployment
+          &quot;errors&quot;: [ # Install errors.
+            { # Errors pertaining to the installation of ACM
+              &quot;errorMessage&quot;: &quot;A String&quot;, # A string representing the user facing error message
+            },
+          ],
+          &quot;version&quot;: &quot;A String&quot;, # The semenatic version number of the operator
+        },
+        &quot;policyControllerState&quot;: { # State for PolicyControllerState. # PolicyController status
+          &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
+            &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
+            &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+          },
+          &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
+            &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
+          },
+        },
+      },
+      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+        &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
+        &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
+      },
+      &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # The high-level state of this Feature for a single membership.
+        &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+        &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+        &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+      },
+    },
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.
+  &quot;resourceState&quot;: { # FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the &quot;running state&quot; of the Feature in the Hub and across Memberships. # Output only. State of the Feature resource itself.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
+  },
+  &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
+    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+      &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
+      &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
+    },
+  },
+  &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
+    &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # Output only. The &quot;running state&quot; of the Feature in this Hub.
+      &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+      &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+      &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+    },
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was last updated.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
   <pre>Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
 
@@ -141,6 +635,468 @@
 </div>
 
 <div class="method">
+    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists Features in a given project and location.
+
+Args:
+  parent: string, The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/*`. (required)
+  filter: string, Lists Features that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name &quot;servicemesh&quot; in project &quot;foo-proj&quot;: name = &quot;projects/foo-proj/locations/global/features/servicemesh&quot; - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar
+  orderBy: string, One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.
+  pageSize: integer, When requesting a &#x27;page&#x27; of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.
+  pageToken: string, Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the `GkeHub.ListFeatures` method.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to request the next page of resources from the `ListFeatures` method. The value of an empty string means that there are no more resources to return.
+  &quot;resources&quot;: [ # The list of matching Features
+    { # Feature represents the settings and status of any Hub Feature.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was created.
+      &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was deleted.
+      &quot;labels&quot;: { # GCP labels for this Feature.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
+        &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+          &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+            &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+              &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+            },
+            &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+              &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+                &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+                &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+                &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+                &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+                &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+                &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+                &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+                &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+              },
+              &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+            },
+            &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+              &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+              &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+              &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+            },
+            &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+              &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+              &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+              &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+                &quot;A String&quot;,
+              ],
+              &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+              &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+              &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+            },
+            &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+          },
+        },
+      },
+      &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+        &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
+          &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+            &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
+              &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
+                &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
+              },
+              &quot;webhook&quot;: &quot;A String&quot;, # The state of the binauthz webhook.
+            },
+            &quot;clusterName&quot;: &quot;A String&quot;, # The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership&#x27;s membership_name, unless the user installed ACM on the cluster manually prior to enabling the ACM hub feature. Unique within a Anthos Config Management installation.
+            &quot;configSyncState&quot;: { # State information for ConfigSync # Current sync status
+              &quot;deploymentState&quot;: { # The state of ConfigSync&#x27;s deployment on a cluster # Information about the deployment of ConfigSync, including the version of the various Pods deployed
+                &quot;gitSync&quot;: &quot;A String&quot;, # Deployment state of the git-sync pod
+                &quot;importer&quot;: &quot;A String&quot;, # Deployment state of the importer pod
+                &quot;monitor&quot;: &quot;A String&quot;, # Deployment state of the monitor pod
+                &quot;reconcilerManager&quot;: &quot;A String&quot;, # Deployment state of reconciler-manager pod
+                &quot;rootReconciler&quot;: &quot;A String&quot;, # Deployment state of root-reconciler
+                &quot;syncer&quot;: &quot;A String&quot;, # Deployment state of the syncer pod
+              },
+              &quot;syncState&quot;: { # State indicating an ACM&#x27;s progress syncing configurations to a cluster # The state of ConfigSync&#x27;s process to sync configs to a cluster
+                &quot;code&quot;: &quot;A String&quot;, # Sync status code
+                &quot;errors&quot;: [ # A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.
+                  { # An ACM created error representing a problem syncing configurations
+                    &quot;code&quot;: &quot;A String&quot;, # An ACM defined error code
+                    &quot;errorMessage&quot;: &quot;A String&quot;, # A description of the error
+                    &quot;errorResources&quot;: [ # A list of config(s) associated with the error, if any
+                      { # Model for a config file in the git repo with an associated Sync error
+                        &quot;resourceGvk&quot;: { # A Kubernetes object&#x27;s GVK # Group/version/kind of the resource that is causing an error
+                          &quot;group&quot;: &quot;A String&quot;, # Kubernetes Group
+                          &quot;kind&quot;: &quot;A String&quot;, # Kubernetes Kind
+                          &quot;version&quot;: &quot;A String&quot;, # Kubernetes Version
+                        },
+                        &quot;resourceName&quot;: &quot;A String&quot;, # Metadata name of the resource that is causing an error
+                        &quot;resourceNamespace&quot;: &quot;A String&quot;, # Namespace of the resource that is causing an error
+                        &quot;sourcePath&quot;: &quot;A String&quot;, # Path in the git repo of the erroneous config
+                      },
+                    ],
+                  },
+                ],
+                &quot;importToken&quot;: &quot;A String&quot;, # Token indicating the state of the importer.
+                &quot;lastSync&quot;: &quot;A String&quot;, # Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)
+                &quot;lastSyncTime&quot;: &quot;A String&quot;, # Timestamp type of when ACM last successfully synced the repo
+                &quot;sourceToken&quot;: &quot;A String&quot;, # Token indicating the state of the repo.
+                &quot;syncToken&quot;: &quot;A String&quot;, # Token indicating the state of the syncer.
+              },
+              &quot;version&quot;: { # Specific versioning information pertaining to ConfigSync&#x27;s Pods # The version of ConfigSync deployed
+                &quot;gitSync&quot;: &quot;A String&quot;, # Version of the deployed git-sync pod
+                &quot;importer&quot;: &quot;A String&quot;, # Version of the deployed importer pod
+                &quot;monitor&quot;: &quot;A String&quot;, # Version of the deployed monitor pod
+                &quot;reconcilerManager&quot;: &quot;A String&quot;, # Version of the deployed reconciler-manager pod
+                &quot;rootReconciler&quot;: &quot;A String&quot;, # Version of the deployed reconciler container in root-reconciler pod
+                &quot;syncer&quot;: &quot;A String&quot;, # Version of the deployed syncer pod
+              },
+            },
+            &quot;hierarchyControllerState&quot;: { # State for Hierarchy Controller # Hierarchy Controller status
+              &quot;state&quot;: { # Deployment state for Hierarchy Controller # The deployment state for Hierarchy Controller
+                &quot;extension&quot;: &quot;A String&quot;, # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
+                &quot;hnc&quot;: &quot;A String&quot;, # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
+              },
+              &quot;version&quot;: { # Version for Hierarchy Controller # The version for Hierarchy Controller
+                &quot;extension&quot;: &quot;A String&quot;, # Version for Hierarchy Controller extension
+                &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
+              },
+            },
+            &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+              &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+                &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+              },
+              &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+                &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+                  &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+                  &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+                  &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+                  &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+                  &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+                  &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+                  &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+                  &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+                },
+                &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+              },
+              &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+                &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+                &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+                &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+              },
+              &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+                &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+                &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+                &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+                  &quot;A String&quot;,
+                ],
+                &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+                &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+                &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+              },
+              &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+            },
+            &quot;operatorState&quot;: { # State information for an ACM&#x27;s Operator # Current install status of ACM&#x27;s Operator
+              &quot;deploymentState&quot;: &quot;A String&quot;, # The state of the Operator&#x27;s deployment
+              &quot;errors&quot;: [ # Install errors.
+                { # Errors pertaining to the installation of ACM
+                  &quot;errorMessage&quot;: &quot;A String&quot;, # A string representing the user facing error message
+                },
+              ],
+              &quot;version&quot;: &quot;A String&quot;, # The semenatic version number of the operator
+            },
+            &quot;policyControllerState&quot;: { # State for PolicyControllerState. # PolicyController status
+              &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
+                &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
+                &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+              },
+              &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
+                &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
+              },
+            },
+          },
+          &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+            &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
+            &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
+          },
+          &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # The high-level state of this Feature for a single membership.
+            &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+            &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+            &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+          },
+        },
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.
+      &quot;resourceState&quot;: { # FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the &quot;running state&quot; of the Feature in the Hub and across Memberships. # Output only. State of the Feature resource itself.
+        &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
+      },
+      &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
+        &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+          &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
+          &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
+        },
+      },
+      &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
+        &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # Output only. The &quot;running state&quot; of the Feature in this Hub.
+          &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+          &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+          &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+        },
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was last updated.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates an existing Feature.
+
+Args:
+  name: string, The Feature resource name in the format `projects/*/locations/*/features/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Feature represents the settings and status of any Hub Feature.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was deleted.
+  &quot;labels&quot;: { # GCP labels for this Feature.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
+    &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
+      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+        &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+          &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+        },
+        &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+          &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+            &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+            &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+            &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+            &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+            &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+            &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+            &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+            &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+          },
+          &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+        },
+        &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+          &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+          &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+          &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+        },
+        &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+          &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+          &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+          &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+            &quot;A String&quot;,
+          ],
+          &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+          &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+          &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+        },
+        &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+      },
+    },
+  },
+  &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
+    &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
+      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+        &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
+          &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
+            &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
+          },
+          &quot;webhook&quot;: &quot;A String&quot;, # The state of the binauthz webhook.
+        },
+        &quot;clusterName&quot;: &quot;A String&quot;, # The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership&#x27;s membership_name, unless the user installed ACM on the cluster manually prior to enabling the ACM hub feature. Unique within a Anthos Config Management installation.
+        &quot;configSyncState&quot;: { # State information for ConfigSync # Current sync status
+          &quot;deploymentState&quot;: { # The state of ConfigSync&#x27;s deployment on a cluster # Information about the deployment of ConfigSync, including the version of the various Pods deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Deployment state of the git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Deployment state of the importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Deployment state of the monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Deployment state of reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Deployment state of root-reconciler
+            &quot;syncer&quot;: &quot;A String&quot;, # Deployment state of the syncer pod
+          },
+          &quot;syncState&quot;: { # State indicating an ACM&#x27;s progress syncing configurations to a cluster # The state of ConfigSync&#x27;s process to sync configs to a cluster
+            &quot;code&quot;: &quot;A String&quot;, # Sync status code
+            &quot;errors&quot;: [ # A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.
+              { # An ACM created error representing a problem syncing configurations
+                &quot;code&quot;: &quot;A String&quot;, # An ACM defined error code
+                &quot;errorMessage&quot;: &quot;A String&quot;, # A description of the error
+                &quot;errorResources&quot;: [ # A list of config(s) associated with the error, if any
+                  { # Model for a config file in the git repo with an associated Sync error
+                    &quot;resourceGvk&quot;: { # A Kubernetes object&#x27;s GVK # Group/version/kind of the resource that is causing an error
+                      &quot;group&quot;: &quot;A String&quot;, # Kubernetes Group
+                      &quot;kind&quot;: &quot;A String&quot;, # Kubernetes Kind
+                      &quot;version&quot;: &quot;A String&quot;, # Kubernetes Version
+                    },
+                    &quot;resourceName&quot;: &quot;A String&quot;, # Metadata name of the resource that is causing an error
+                    &quot;resourceNamespace&quot;: &quot;A String&quot;, # Namespace of the resource that is causing an error
+                    &quot;sourcePath&quot;: &quot;A String&quot;, # Path in the git repo of the erroneous config
+                  },
+                ],
+              },
+            ],
+            &quot;importToken&quot;: &quot;A String&quot;, # Token indicating the state of the importer.
+            &quot;lastSync&quot;: &quot;A String&quot;, # Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)
+            &quot;lastSyncTime&quot;: &quot;A String&quot;, # Timestamp type of when ACM last successfully synced the repo
+            &quot;sourceToken&quot;: &quot;A String&quot;, # Token indicating the state of the repo.
+            &quot;syncToken&quot;: &quot;A String&quot;, # Token indicating the state of the syncer.
+          },
+          &quot;version&quot;: { # Specific versioning information pertaining to ConfigSync&#x27;s Pods # The version of ConfigSync deployed
+            &quot;gitSync&quot;: &quot;A String&quot;, # Version of the deployed git-sync pod
+            &quot;importer&quot;: &quot;A String&quot;, # Version of the deployed importer pod
+            &quot;monitor&quot;: &quot;A String&quot;, # Version of the deployed monitor pod
+            &quot;reconcilerManager&quot;: &quot;A String&quot;, # Version of the deployed reconciler-manager pod
+            &quot;rootReconciler&quot;: &quot;A String&quot;, # Version of the deployed reconciler container in root-reconciler pod
+            &quot;syncer&quot;: &quot;A String&quot;, # Version of the deployed syncer pod
+          },
+        },
+        &quot;hierarchyControllerState&quot;: { # State for Hierarchy Controller # Hierarchy Controller status
+          &quot;state&quot;: { # Deployment state for Hierarchy Controller # The deployment state for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
+            &quot;hnc&quot;: &quot;A String&quot;, # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
+          },
+          &quot;version&quot;: { # Version for Hierarchy Controller # The version for Hierarchy Controller
+            &quot;extension&quot;: &quot;A String&quot;, # Version for Hierarchy Controller extension
+            &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
+          },
+        },
+        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+          &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
+            &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
+          },
+          &quot;configSync&quot;: { # Configuration for Config Sync # Config Sync configuration for the cluster.
+            &quot;git&quot;: { # Git repo configuration for a single cluster. # Git repo configuration for the cluster.
+              &quot;gcpServiceAccountEmail&quot;: &quot;A String&quot;, # The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.
+              &quot;httpsProxy&quot;: &quot;A String&quot;, # URL for the HTTPS proxy to be used when communicating with the Git repo.
+              &quot;policyDir&quot;: &quot;A String&quot;, # The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.
+              &quot;secretType&quot;: &quot;A String&quot;, # Type of secret configured for access to the Git repo.
+              &quot;syncBranch&quot;: &quot;A String&quot;, # The branch of the repository to sync from. Default: master.
+              &quot;syncRepo&quot;: &quot;A String&quot;, # The URL of the Git repository to use as the source of truth.
+              &quot;syncRev&quot;: &quot;A String&quot;, # Git revision (tag or hash) to check out. Default HEAD.
+              &quot;syncWaitSecs&quot;: &quot;A String&quot;, # Period in seconds between consecutive syncs. Default: 15.
+            },
+            &quot;sourceFormat&quot;: &quot;A String&quot;, # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured” mode.
+          },
+          &quot;hierarchyController&quot;: { # Configuration for Hierarchy Controller # Hierarchy Controller configuration for the cluster.
+            &quot;enableHierarchicalResourceQuota&quot;: True or False, # Whether hierarchical resource quota is enabled in this cluster.
+            &quot;enablePodTreeLabels&quot;: True or False, # Whether pod tree labels are enabled in this cluster.
+            &quot;enabled&quot;: True or False, # Whether Hierarchy Controller is enabled in this cluster.
+          },
+          &quot;policyController&quot;: { # Configuration for Policy Controller # Policy Controller configuration for the cluster.
+            &quot;auditIntervalSeconds&quot;: &quot;A String&quot;, # Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
+            &quot;enabled&quot;: True or False, # Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.
+            &quot;exemptableNamespaces&quot;: [ # The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
+              &quot;A String&quot;,
+            ],
+            &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
+            &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
+            &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
+          },
+          &quot;version&quot;: &quot;A String&quot;, # Version of ACM installed.
+        },
+        &quot;operatorState&quot;: { # State information for an ACM&#x27;s Operator # Current install status of ACM&#x27;s Operator
+          &quot;deploymentState&quot;: &quot;A String&quot;, # The state of the Operator&#x27;s deployment
+          &quot;errors&quot;: [ # Install errors.
+            { # Errors pertaining to the installation of ACM
+              &quot;errorMessage&quot;: &quot;A String&quot;, # A string representing the user facing error message
+            },
+          ],
+          &quot;version&quot;: &quot;A String&quot;, # The semenatic version number of the operator
+        },
+        &quot;policyControllerState&quot;: { # State for PolicyControllerState. # PolicyController status
+          &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
+            &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
+            &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
+          },
+          &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
+            &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
+          },
+        },
+      },
+      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+        &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
+        &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
+      },
+      &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # The high-level state of this Feature for a single membership.
+        &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+        &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+        &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+      },
+    },
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.
+  &quot;resourceState&quot;: { # FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the &quot;running state&quot; of the Feature in the Hub and across Memberships. # Output only. State of the Feature resource itself.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
+  },
+  &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
+    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+      &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
+      &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
+    },
+  },
+  &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
+    &quot;state&quot;: { # FeatureState describes the high-level state of a Feature. It may be used to describe a Feature&#x27;s state at the environ-level, or per-membershop, depending on the context. # Output only. The &quot;running state&quot; of the Feature in this Hub.
+      &quot;code&quot;: &quot;A String&quot;, # The high-level, machine-readable status of this Feature.
+      &quot;description&quot;: &quot;A String&quot;, # A human-readable description of the current status.
+      &quot;updateTime&quot;: &quot;A String&quot;, # The time this status and any related Feature-specific details were updated.
+    },
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. When the Feature resource was last updated.
+}
+
+  requestId: string, Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  updateMask: string, Mask of fields to update.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
   <pre>Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 
diff --git a/docs/dyn/gkehub_v1beta.projects.locations.html b/docs/dyn/gkehub_v1beta.projects.locations.html
index fec5147..36fccfb 100644
--- a/docs/dyn/gkehub_v1beta.projects.locations.html
+++ b/docs/dyn/gkehub_v1beta.projects.locations.html
@@ -80,11 +80,6 @@
 <p class="firstline">Returns the features Resource.</p>
 
 <p class="toc_element">
-  <code><a href="gkehub_v1beta.projects.locations.global_.html">global_()</a></code>
-</p>
-<p class="firstline">Returns the global_ Resource.</p>
-
-<p class="toc_element">
   <code><a href="gkehub_v1beta.projects.locations.memberships.html">memberships()</a></code>
 </p>
 <p class="firstline">Returns the memberships Resource.</p>
diff --git a/docs/dyn/lifesciences_v2beta.projects.locations.pipelines.html b/docs/dyn/lifesciences_v2beta.projects.locations.pipelines.html
index e41d0ba..89c1cae 100644
--- a/docs/dyn/lifesciences_v2beta.projects.locations.pipelines.html
+++ b/docs/dyn/lifesciences_v2beta.projects.locations.pipelines.html
@@ -115,6 +115,10 @@
         &quot;disableImagePrefetch&quot;: True or False, # All container images are typically downloaded before any actions are executed. This helps prevent typos in URIs or issues like lack of disk space from wasting large amounts of compute resources. If set, this flag prevents the worker from downloading the image until just before the action is executed.
         &quot;disableStandardErrorCapture&quot;: True or False, # A small portion of the container&#x27;s standard error stream is typically captured and returned inside the `ContainerStoppedEvent`. Setting this flag disables this functionality.
         &quot;enableFuse&quot;: True or False, # Enable access to the FUSE device for this action. Filesystems can then be mounted into disks shared with other actions. The other actions do not need the `enable_fuse` flag to access the mounted filesystem. This has the effect of causing the container to be executed with `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only for containers you trust.
+        &quot;encryptedEnvironment&quot;: { # Holds encrypted information that is only decrypted and stored in RAM by the worker VM when running the pipeline. # The encrypted environment to pass into the container. This environment is merged with values specified in the google.cloud.lifesciences.v2beta.Pipeline message, overwriting any duplicate values. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field.
+          &quot;cipherText&quot;: &quot;A String&quot;, # The value of the cipherText response from the `encrypt` method. This field is intentionally unaudited.
+          &quot;keyName&quot;: &quot;A String&quot;, # The name of the Cloud KMS key that will be used to decrypt the secret value. The VM service account must have the required permissions and authentication scopes to invoke the `decrypt` method on the specified key.
+        },
         &quot;entrypoint&quot;: &quot;A String&quot;, # If specified, overrides the `ENTRYPOINT` specified in the container.
         &quot;environment&quot;: { # The environment to pass into the container. This environment is merged with values specified in the google.cloud.lifesciences.v2beta.Pipeline message, overwriting any duplicate values. In addition to the values passed here, a few other values are automatically injected into the environment. These cannot be hidden or overwritten. `GOOGLE_PIPELINE_FAILED` will be set to &quot;1&quot; if the pipeline failed because an action has exited with a non-zero status (and did not have the `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional debug or logging actions should execute. `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last non-background action that executed. This can be used by workflow engine authors to determine whether an individual action has succeeded or failed.
           &quot;a_key&quot;: &quot;A String&quot;,
@@ -140,6 +144,10 @@
         &quot;timeout&quot;: &quot;A String&quot;, # The maximum amount of time to give the action to complete. If the action fails to complete before the timeout, it will be terminated and the exit status will be non-zero. The pipeline will continue or terminate based on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.
       },
     ],
+    &quot;encryptedEnvironment&quot;: { # Holds encrypted information that is only decrypted and stored in RAM by the worker VM when running the pipeline. # The encrypted environment to pass into every action. Each action can also specify its own encrypted environment. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field.
+      &quot;cipherText&quot;: &quot;A String&quot;, # The value of the cipherText response from the `encrypt` method. This field is intentionally unaudited.
+      &quot;keyName&quot;: &quot;A String&quot;, # The name of the Cloud KMS key that will be used to decrypt the secret value. The VM service account must have the required permissions and authentication scopes to invoke the `decrypt` method on the specified key.
+    },
     &quot;environment&quot;: { # The environment to pass into every action. Each action can also specify additional environment variables but cannot delete an entry from this map (though they can overwrite it with a different value).
       &quot;a_key&quot;: &quot;A String&quot;,
     },
diff --git a/docs/dyn/logging_v2.billingAccounts.logs.html b/docs/dyn/logging_v2.billingAccounts.logs.html
index 447deb5..540a62c 100644
--- a/docs/dyn/logging_v2.billingAccounts.logs.html
+++ b/docs/dyn/logging_v2.billingAccounts.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/logging_v2.folders.logs.html b/docs/dyn/logging_v2.folders.logs.html
index a390b12..268bee8 100644
--- a/docs/dyn/logging_v2.folders.logs.html
+++ b/docs/dyn/logging_v2.folders.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/logging_v2.logs.html b/docs/dyn/logging_v2.logs.html
index b68eb2e..83cab71 100644
--- a/docs/dyn/logging_v2.logs.html
+++ b/docs/dyn/logging_v2.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/logging_v2.organizations.logs.html b/docs/dyn/logging_v2.organizations.logs.html
index 878a359..dc7612e 100644
--- a/docs/dyn/logging_v2.organizations.logs.html
+++ b/docs/dyn/logging_v2.organizations.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/logging_v2.projects.logs.html b/docs/dyn/logging_v2.projects.logs.html
index da288b4..7b0ad27 100644
--- a/docs/dyn/logging_v2.projects.logs.html
+++ b/docs/dyn/logging_v2.projects.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.hubs.html b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.hubs.html
index 2f6d2b9..918d8de 100644
--- a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.hubs.html
+++ b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.hubs.html
@@ -126,7 +126,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The name of a Hub resource.
-  &quot;spokes&quot;: [ # Output only. A list of the URIs of all attached spokes
+  &quot;spokes&quot;: [ # Output only. A list of the URIs of all attached spokes. This field is deprecated and will not be included in future API versions. Call ListSpokes on each region instead.
     &quot;A String&quot;,
   ],
   &quot;state&quot;: &quot;A String&quot;, # Output only. The current lifecycle state of this Hub.
@@ -222,7 +222,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The name of a Hub resource.
-  &quot;spokes&quot;: [ # Output only. A list of the URIs of all attached spokes
+  &quot;spokes&quot;: [ # Output only. A list of the URIs of all attached spokes. This field is deprecated and will not be included in future API versions. Call ListSpokes on each region instead.
     &quot;A String&quot;,
   ],
   &quot;state&quot;: &quot;A String&quot;, # Output only. The current lifecycle state of this Hub.
@@ -306,7 +306,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;name&quot;: &quot;A String&quot;, # Immutable. The name of a Hub resource.
-      &quot;spokes&quot;: [ # Output only. A list of the URIs of all attached spokes
+      &quot;spokes&quot;: [ # Output only. A list of the URIs of all attached spokes. This field is deprecated and will not be included in future API versions. Call ListSpokes on each region instead.
         &quot;A String&quot;,
       ],
       &quot;state&quot;: &quot;A String&quot;, # Output only. The current lifecycle state of this Hub.
@@ -351,7 +351,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The name of a Hub resource.
-  &quot;spokes&quot;: [ # Output only. A list of the URIs of all attached spokes
+  &quot;spokes&quot;: [ # Output only. A list of the URIs of all attached spokes. This field is deprecated and will not be included in future API versions. Call ListSpokes on each region instead.
     &quot;A String&quot;,
   ],
   &quot;state&quot;: &quot;A String&quot;, # Output only. The current lifecycle state of this Hub.
diff --git a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.html b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.html
index 9f797af..6fb02c4 100644
--- a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.html
+++ b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.html
@@ -146,7 +146,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/paymentsresellersubscription_v1.partners.subscriptions.html b/docs/dyn/paymentsresellersubscription_v1.partners.subscriptions.html
index d2cd751..8cf4401 100644
--- a/docs/dyn/paymentsresellersubscription_v1.partners.subscriptions.html
+++ b/docs/dyn/paymentsresellersubscription_v1.partners.subscriptions.html
@@ -97,7 +97,7 @@
 <p class="firstline">Used by partners to provision a subscription for their customers. This creates a subscription without associating it with the end user account. EntitleSubscription must be called separately using OAuth in order for the end user account to be associated with the subscription. It should be called directly by the partner using service accounts.</p>
 <p class="toc_element">
   <code><a href="#undoCancel">undoCancel(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Used by partners to revoke the pending cancellation of a subscription, which is currently in `STATE_WAITING_TO_CANCEL` state. If the subscription is already cancelled, the request will fail. It should be called directly by the partner using service accounts.</p>
+<p class="firstline">Used by partners to revoke the pending cancellation of a subscription, which is currently in `STATE_CANCEL_AT_END_OF_CYCLE` state. If the subscription is already cancelled, the request will fail. It should be called directly by the partner using service accounts.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="cancel">cancel(name, body=None, x__xgafv=None)</code>
@@ -416,7 +416,7 @@
 
 <div class="method">
     <code class="details" id="undoCancel">undoCancel(name, body=None, x__xgafv=None)</code>
-  <pre>Used by partners to revoke the pending cancellation of a subscription, which is currently in `STATE_WAITING_TO_CANCEL` state. If the subscription is already cancelled, the request will fail. It should be called directly by the partner using service accounts.
+  <pre>Used by partners to revoke the pending cancellation of a subscription, which is currently in `STATE_CANCEL_AT_END_OF_CYCLE` state. If the subscription is already cancelled, the request will fail. It should be called directly by the partner using service accounts.
 
 Args:
   name: string, Required. The name of the subscription resource whose pending cancellation needs to be undone. It will have the format of &quot;partners/{partner_id}/subscriptions/{subscription_id}&quot; (required)
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/servicedirectory_v1beta1.projects.locations.namespaces.services.endpoints.html b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.endpoints.html
index aca4a6c..79bc667 100644
--- a/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.endpoints.html
+++ b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.endpoints.html
@@ -116,6 +116,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+  &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
   &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
 }
 
@@ -134,6 +135,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+  &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
   &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
 }</pre>
 </div>
@@ -176,6 +178,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+  &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
   &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
 }</pre>
 </div>
@@ -206,6 +209,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+      &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
       &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
     },
   ],
@@ -242,6 +246,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+  &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
   &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
 }
 
@@ -260,6 +265,7 @@
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+  &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
   &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
 }</pre>
 </div>
diff --git a/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.html b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.html
index 0dbdbea..000488b 100644
--- a/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.html
+++ b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.html
@@ -135,6 +135,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+      &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
       &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
     },
   ],
@@ -161,6 +162,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+      &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
       &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
     },
   ],
@@ -211,6 +213,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+      &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
       &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
     },
   ],
@@ -293,6 +296,7 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
           &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+          &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
           &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
         },
       ],
@@ -336,6 +340,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+      &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
       &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
     },
   ],
@@ -362,6 +367,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+      &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
       &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
     },
   ],
@@ -403,6 +409,7 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+        &quot;network&quot;: &quot;A String&quot;, # Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).
         &quot;port&quot;: 42, # Optional. Service Directory rejects values outside of `[0, 65535]`.
       },
     ],
diff --git a/docs/dyn/storagetransfer_v1.transferJobs.html b/docs/dyn/storagetransfer_v1.transferJobs.html
index d1f828d..5a2e891 100644
--- a/docs/dyn/storagetransfer_v1.transferJobs.html
+++ b/docs/dyn/storagetransfer_v1.transferJobs.html
@@ -114,7 +114,7 @@
   &quot;deletionTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was deleted.
   &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
   &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
-  &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if and only if at least one TransferOperation has been created for this JobConfig.
+  &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
   &quot;name&quot;: &quot;A String&quot;, # A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `&quot;transferJobs/&quot;` prefix and end with a letter or a number, and should be no more than 128 characters. This name must not start with &#x27;transferJobs/OPI&#x27;. &#x27;transferJobs/OPI&#x27; is a reserved prefix. Example: `&quot;transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$&quot;` Invalid job names will fail with an INVALID_ARGUMENT error.
   &quot;notificationConfig&quot;: { # Specification to configure notifications published to Cloud Pub/Sub. Notifications will be published to the customer-provided topic using the following `PubsubMessage.attributes`: * `&quot;eventType&quot;`: one of the EventType values * `&quot;payloadFormat&quot;`: one of the PayloadFormat values * `&quot;projectId&quot;`: the project_id of the `TransferOperation` * `&quot;transferJobName&quot;`: the transfer_job_name of the `TransferOperation` * `&quot;transferOperationName&quot;`: the name of the `TransferOperation` The `PubsubMessage.data` will contain a TransferOperation resource formatted according to the specified `PayloadFormat`. # Notification configuration.
     &quot;eventTypes&quot;: [ # Event types for which a notification is desired. If empty, send notifications for all event types.
@@ -211,7 +211,7 @@
   &quot;deletionTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was deleted.
   &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
   &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
-  &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if and only if at least one TransferOperation has been created for this JobConfig.
+  &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
   &quot;name&quot;: &quot;A String&quot;, # A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `&quot;transferJobs/&quot;` prefix and end with a letter or a number, and should be no more than 128 characters. This name must not start with &#x27;transferJobs/OPI&#x27;. &#x27;transferJobs/OPI&#x27; is a reserved prefix. Example: `&quot;transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$&quot;` Invalid job names will fail with an INVALID_ARGUMENT error.
   &quot;notificationConfig&quot;: { # Specification to configure notifications published to Cloud Pub/Sub. Notifications will be published to the customer-provided topic using the following `PubsubMessage.attributes`: * `&quot;eventType&quot;`: one of the EventType values * `&quot;payloadFormat&quot;`: one of the PayloadFormat values * `&quot;projectId&quot;`: the project_id of the `TransferOperation` * `&quot;transferJobName&quot;`: the transfer_job_name of the `TransferOperation` * `&quot;transferOperationName&quot;`: the name of the `TransferOperation` The `PubsubMessage.data` will contain a TransferOperation resource formatted according to the specified `PayloadFormat`. # Notification configuration.
     &quot;eventTypes&quot;: [ # Event types for which a notification is desired. If empty, send notifications for all event types.
@@ -316,7 +316,7 @@
   &quot;deletionTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was deleted.
   &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
   &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
-  &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if and only if at least one TransferOperation has been created for this JobConfig.
+  &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
   &quot;name&quot;: &quot;A String&quot;, # A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `&quot;transferJobs/&quot;` prefix and end with a letter or a number, and should be no more than 128 characters. This name must not start with &#x27;transferJobs/OPI&#x27;. &#x27;transferJobs/OPI&#x27; is a reserved prefix. Example: `&quot;transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$&quot;` Invalid job names will fail with an INVALID_ARGUMENT error.
   &quot;notificationConfig&quot;: { # Specification to configure notifications published to Cloud Pub/Sub. Notifications will be published to the customer-provided topic using the following `PubsubMessage.attributes`: * `&quot;eventType&quot;`: one of the EventType values * `&quot;payloadFormat&quot;`: one of the PayloadFormat values * `&quot;projectId&quot;`: the project_id of the `TransferOperation` * `&quot;transferJobName&quot;`: the transfer_job_name of the `TransferOperation` * `&quot;transferOperationName&quot;`: the name of the `TransferOperation` The `PubsubMessage.data` will contain a TransferOperation resource formatted according to the specified `PayloadFormat`. # Notification configuration.
     &quot;eventTypes&quot;: [ # Event types for which a notification is desired. If empty, send notifications for all event types.
@@ -425,7 +425,7 @@
       &quot;deletionTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was deleted.
       &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
       &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
-      &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if and only if at least one TransferOperation has been created for this JobConfig.
+      &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
       &quot;name&quot;: &quot;A String&quot;, # A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `&quot;transferJobs/&quot;` prefix and end with a letter or a number, and should be no more than 128 characters. This name must not start with &#x27;transferJobs/OPI&#x27;. &#x27;transferJobs/OPI&#x27; is a reserved prefix. Example: `&quot;transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$&quot;` Invalid job names will fail with an INVALID_ARGUMENT error.
       &quot;notificationConfig&quot;: { # Specification to configure notifications published to Cloud Pub/Sub. Notifications will be published to the customer-provided topic using the following `PubsubMessage.attributes`: * `&quot;eventType&quot;`: one of the EventType values * `&quot;payloadFormat&quot;`: one of the PayloadFormat values * `&quot;projectId&quot;`: the project_id of the `TransferOperation` * `&quot;transferJobName&quot;`: the transfer_job_name of the `TransferOperation` * `&quot;transferOperationName&quot;`: the name of the `TransferOperation` The `PubsubMessage.data` will contain a TransferOperation resource formatted according to the specified `PayloadFormat`. # Notification configuration.
         &quot;eventTypes&quot;: [ # Event types for which a notification is desired. If empty, send notifications for all event types.
@@ -542,7 +542,7 @@
     &quot;deletionTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was deleted.
     &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
     &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
-    &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if and only if at least one TransferOperation has been created for this JobConfig.
+    &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
     &quot;name&quot;: &quot;A String&quot;, # A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `&quot;transferJobs/&quot;` prefix and end with a letter or a number, and should be no more than 128 characters. This name must not start with &#x27;transferJobs/OPI&#x27;. &#x27;transferJobs/OPI&#x27; is a reserved prefix. Example: `&quot;transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$&quot;` Invalid job names will fail with an INVALID_ARGUMENT error.
     &quot;notificationConfig&quot;: { # Specification to configure notifications published to Cloud Pub/Sub. Notifications will be published to the customer-provided topic using the following `PubsubMessage.attributes`: * `&quot;eventType&quot;`: one of the EventType values * `&quot;payloadFormat&quot;`: one of the PayloadFormat values * `&quot;projectId&quot;`: the project_id of the `TransferOperation` * `&quot;transferJobName&quot;`: the transfer_job_name of the `TransferOperation` * `&quot;transferOperationName&quot;`: the name of the `TransferOperation` The `PubsubMessage.data` will contain a TransferOperation resource formatted according to the specified `PayloadFormat`. # Notification configuration.
       &quot;eventTypes&quot;: [ # Event types for which a notification is desired. If empty, send notifications for all event types.
@@ -641,7 +641,7 @@
   &quot;deletionTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was deleted.
   &quot;description&quot;: &quot;A String&quot;, # A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
   &quot;lastModificationTime&quot;: &quot;A String&quot;, # Output only. The time that the transfer job was last modified.
-  &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if and only if at least one TransferOperation has been created for this JobConfig.
+  &quot;latestOperationName&quot;: &quot;A String&quot;, # The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.
   &quot;name&quot;: &quot;A String&quot;, # A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `&quot;transferJobs/&quot;` prefix and end with a letter or a number, and should be no more than 128 characters. This name must not start with &#x27;transferJobs/OPI&#x27;. &#x27;transferJobs/OPI&#x27; is a reserved prefix. Example: `&quot;transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$&quot;` Invalid job names will fail with an INVALID_ARGUMENT error.
   &quot;notificationConfig&quot;: { # Specification to configure notifications published to Cloud Pub/Sub. Notifications will be published to the customer-provided topic using the following `PubsubMessage.attributes`: * `&quot;eventType&quot;`: one of the EventType values * `&quot;payloadFormat&quot;`: one of the PayloadFormat values * `&quot;projectId&quot;`: the project_id of the `TransferOperation` * `&quot;transferJobName&quot;`: the transfer_job_name of the `TransferOperation` * `&quot;transferOperationName&quot;`: the name of the `TransferOperation` The `PubsubMessage.data` will contain a TransferOperation resource formatted according to the specified `PayloadFormat`. # Notification configuration.
     &quot;eventTypes&quot;: [ # Event types for which a notification is desired. If empty, send notifications for all event types.