chore: Update discovery artifacts (#1486)

## Deleted keys were detected in the following stable discovery artifacts:
displayvideo v1 https://github.com/googleapis/google-api-python-client/commit/21f81c824089d0060dbd624f9755eea554464af2
sts v1 https://github.com/googleapis/google-api-python-client/commit/a8ebc2bef5d0ff6c449d65fcc9c0554c1f388985

## Deleted keys were detected in the following pre-stable discovery artifacts:
networkconnectivity v1alpha1 https://github.com/googleapis/google-api-python-client/commit/68588ad4744aa3c7a3a0afa12a1566f54ab3be94

## Discovery Artifact Change Summary:
feat(apigee): update the api https://github.com/googleapis/google-api-python-client/commit/41ae79b3554ffc9f1622e44757751009eeed76f8
feat(bigqueryreservation): update the api https://github.com/googleapis/google-api-python-client/commit/b0483aba20b17580b400283fb0073f07715bf254
feat(chat): update the api https://github.com/googleapis/google-api-python-client/commit/270312294f1cf89041825b0f31bfcf872fda9854
feat(cloudbuild): update the api https://github.com/googleapis/google-api-python-client/commit/30c122278e75a99b5b2a6ed330f317015134a23d
feat(cloudscheduler): update the api https://github.com/googleapis/google-api-python-client/commit/0405b1db79fe87305be25ba4f9389e94490040a7
feat(contactcenterinsights): update the api https://github.com/googleapis/google-api-python-client/commit/3abcf5334053f5612fd79163f2c433e5793ee782
feat(dialogflow): update the api https://github.com/googleapis/google-api-python-client/commit/c4935840495b1487d4be47b63f6c416113b9413f
feat(displayvideo): update the api https://github.com/googleapis/google-api-python-client/commit/21f81c824089d0060dbd624f9755eea554464af2
feat(monitoring): update the api https://github.com/googleapis/google-api-python-client/commit/d997b2c0d13203ac29b55c19858ef375380a5b7b
feat(networkconnectivity): update the api https://github.com/googleapis/google-api-python-client/commit/68588ad4744aa3c7a3a0afa12a1566f54ab3be94
feat(notebooks): update the api https://github.com/googleapis/google-api-python-client/commit/b975c34568f62bbf19f67f4731fe091aeeda8a75
feat(retail): update the api https://github.com/googleapis/google-api-python-client/commit/c2bcb7081a4f656b9e136ea38637cf262b60f387
feat(servicenetworking): update the api https://github.com/googleapis/google-api-python-client/commit/3bdc7b9d0854918ef65ccb4a3798d2f3f3b19d70
feat(sts): update the api https://github.com/googleapis/google-api-python-client/commit/a8ebc2bef5d0ff6c449d65fcc9c0554c1f388985
diff --git a/docs/dyn/analyticsdata_v1beta.properties.html b/docs/dyn/analyticsdata_v1beta.properties.html
index 57a9425..946569f 100644
--- a/docs/dyn/analyticsdata_v1beta.properties.html
+++ b/docs/dyn/analyticsdata_v1beta.properties.html
@@ -428,7 +428,7 @@
           "startDate": "A String", # The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the property's reporting time zone.
         },
       ],
-      "dimensionFilter": { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter.
+      "dimensionFilter": { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # Dimension filters allow you to ask for only specific dimension values in the report. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter.
         "andGroup": { # A list of filter expressions. # The FilterExpressions in and_group have an AND relationship.
           "expressions": [ # A list of filter expressions.
             # Object with schema name: FilterExpression
@@ -496,7 +496,7 @@
       "metricAggregations": [ # Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to "RESERVED_(MetricAggregation)".
         "A String",
       ],
-      "metricFilter": { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter.
+      "metricFilter": { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions cannot be used in this filter.
         "andGroup": { # A list of filter expressions. # The FilterExpressions in and_group have an AND relationship.
           "expressions": [ # A list of filter expressions.
             # Object with schema name: FilterExpression
@@ -1317,7 +1317,7 @@
       "startDate": "A String", # The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the property's reporting time zone.
     },
   ],
-  "dimensionFilter": { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter.
+  "dimensionFilter": { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # Dimension filters allow you to ask for only specific dimension values in the report. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter.
     "andGroup": { # A list of filter expressions. # The FilterExpressions in and_group have an AND relationship.
       "expressions": [ # A list of filter expressions.
         # Object with schema name: FilterExpression
@@ -1385,7 +1385,7 @@
   "metricAggregations": [ # Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to "RESERVED_(MetricAggregation)".
     "A String",
   ],
-  "metricFilter": { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter.
+  "metricFilter": { # To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. # The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions cannot be used in this filter.
     "andGroup": { # A list of filter expressions. # The FilterExpressions in and_group have an AND relationship.
       "expressions": [ # A list of filter expressions.
         # Object with schema name: FilterExpression
diff --git a/docs/dyn/androidpublisher_v3.orders.html b/docs/dyn/androidpublisher_v3.orders.html
index 119bda4..957b9d6 100644
--- a/docs/dyn/androidpublisher_v3.orders.html
+++ b/docs/dyn/androidpublisher_v3.orders.html
@@ -79,7 +79,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#refund">refund(packageName, orderId, revoke=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Refund a user's subscription or in-app purchase order.</p>
+<p class="firstline">Refunds a user's subscription or in-app purchase order. Orders older than 1 year cannot be refunded.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -88,7 +88,7 @@
 
 <div class="method">
     <code class="details" id="refund">refund(packageName, orderId, revoke=None, x__xgafv=None)</code>
-  <pre>Refund a user&#x27;s subscription or in-app purchase order.
+  <pre>Refunds a user&#x27;s subscription or in-app purchase order. Orders older than 1 year cannot be refunded.
 
 Args:
   packageName: string, The package name of the application for which this subscription or in-app item was purchased (for example, &#x27;com.some.thing&#x27;). (required)
diff --git a/docs/dyn/apigee_v1.organizations.environments.archiveDeployments.html b/docs/dyn/apigee_v1.organizations.environments.archiveDeployments.html
new file mode 100644
index 0000000..ecc39ab
--- /dev/null
+++ b/docs/dyn/apigee_v1.organizations.environments.archiveDeployments.html
@@ -0,0 +1,342 @@
+<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="apigee_v1.html">Apigee API</a> . <a href="apigee_v1.organizations.html">organizations</a> . <a href="apigee_v1.organizations.environments.html">environments</a> . <a href="apigee_v1.organizations.environments.archiveDeployments.html">archiveDeployments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a new ArchiveDeployment.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes an archive deployment.</p>
+<p class="toc_element">
+  <code><a href="#generateDownloadUrl">generateDownloadUrl(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Generates a signed URL for downloading the original zip file used to create an Archive Deployment. The URL is only valid for a limited period and should be used within minutes after generation. Each call returns a new upload URL.</p>
+<p class="toc_element">
+  <code><a href="#generateUploadUrl">generateUploadUrl(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Generates a signed URL for uploading an Archive zip file to Google Cloud Storage. Once the upload is complete, the signed URL should be passed to CreateArchiveDeployment. When uploading to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * Source file size should not exceed 1GB limit. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` * `x-goog-content-length-range: 0,1073741824` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN`</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the specified ArchiveDeployment.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists the ArchiveDeployments in the specified Environment.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates an existing ArchiveDeployment. Labels can modified but most of the other fields are not modifiable.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Creates a new ArchiveDeployment.
+
+Args:
+  parent: string, Required. The Environment this Archive Deployment will be created in. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Archive Deployment information.
+  &quot;createdAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was created in milliseconds since the epoch.
+  &quot;gcsUri&quot;: &quot;A String&quot;, # Input only. The Google Cloud Storage signed URL returned from GenerateUploadUrl and used to upload the Archive zip file.
+  &quot;labels&quot;: { # User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.
+  &quot;operation&quot;: &quot;A String&quot;, # Output only. A reference to the LRO that created this Archive Deployment in the following format: `organizations/{org}/operations/{id}`
+  &quot;updatedAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was updated in milliseconds since the epoch.
+}
+
+  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, x__xgafv=None)</code>
+  <pre>Deletes an archive deployment.
+
+Args:
+  name: string, Required. Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="generateDownloadUrl">generateDownloadUrl(name, body=None, x__xgafv=None)</code>
+  <pre>Generates a signed URL for downloading the original zip file used to create an Archive Deployment. The URL is only valid for a limited period and should be used within minutes after generation. Each call returns a new upload URL.
+
+Args:
+  name: string, Required. The name of the Archive Deployment you want to download. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for GenerateDownloadUrl method.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for GenerateDownloadUrl method.
+  &quot;downloadUri&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL that can be used to download the Archive zip file.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="generateUploadUrl">generateUploadUrl(parent, body=None, x__xgafv=None)</code>
+  <pre>Generates a signed URL for uploading an Archive zip file to Google Cloud Storage. Once the upload is complete, the signed URL should be passed to CreateArchiveDeployment. When uploading to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * Source file size should not exceed 1GB limit. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` * `x-goog-content-length-range: 0,1073741824` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN`
+
+Args:
+  parent: string, Required. The organization and environment to upload to. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for GenerateUploadUrl method.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for GenerateUploadUrl method.
+  &quot;uploadUri&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL that can be used to upload a new Archive zip file.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the specified ArchiveDeployment.
+
+Args:
+  name: string, Required. Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Archive Deployment information.
+  &quot;createdAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was created in milliseconds since the epoch.
+  &quot;gcsUri&quot;: &quot;A String&quot;, # Input only. The Google Cloud Storage signed URL returned from GenerateUploadUrl and used to upload the Archive zip file.
+  &quot;labels&quot;: { # User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.
+  &quot;operation&quot;: &quot;A String&quot;, # Output only. A reference to the LRO that created this Archive Deployment in the following format: `organizations/{org}/operations/{id}`
+  &quot;updatedAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was updated in milliseconds since the epoch.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists the ArchiveDeployments in the specified Environment.
+
+Args:
+  parent: string, Required. Name of the Environment for which to list Archive Deployments in the format: `organizations/{org}/environments/{env}`. (required)
+  filter: string, Optional. An optional query used to return a subset of Archive Deployments using the semantics defined in https://google.aip.dev/160.
+  pageSize: integer, Optional. Maximum number of Archive Deployments to return. If unspecified, at most 25 deployments will be returned.
+  pageToken: string, Optional. Page token, returned from a previous ListArchiveDeployments call, that you can use to retrieve the next page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ListArchiveDeployments method.
+  &quot;archiveDeployments&quot;: [ # Archive Deployments in the specified environment.
+    { # Archive Deployment information.
+      &quot;createdAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was created in milliseconds since the epoch.
+      &quot;gcsUri&quot;: &quot;A String&quot;, # Input only. The Google Cloud Storage signed URL returned from GenerateUploadUrl and used to upload the Archive zip file.
+      &quot;labels&quot;: { # User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.
+      &quot;operation&quot;: &quot;A String&quot;, # Output only. A reference to the LRO that created this Archive Deployment in the following format: `organizations/{org}/operations/{id}`
+      &quot;updatedAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was updated in milliseconds since the epoch.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Page token that you can include in a ListArchiveDeployments request to retrieve the next page. If omitted, no subsequent pages exist.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates an existing ArchiveDeployment. Labels can modified but most of the other fields are not modifiable.
+
+Args:
+  name: string, Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Archive Deployment information.
+  &quot;createdAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was created in milliseconds since the epoch.
+  &quot;gcsUri&quot;: &quot;A String&quot;, # Input only. The Google Cloud Storage signed URL returned from GenerateUploadUrl and used to upload the Archive zip file.
+  &quot;labels&quot;: { # User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.
+  &quot;operation&quot;: &quot;A String&quot;, # Output only. A reference to the LRO that created this Archive Deployment in the following format: `organizations/{org}/operations/{id}`
+  &quot;updatedAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was updated in milliseconds since the epoch.
+}
+
+  updateMask: string, Required. The list of fields to be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Archive Deployment information.
+  &quot;createdAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was created in milliseconds since the epoch.
+  &quot;gcsUri&quot;: &quot;A String&quot;, # Input only. The Google Cloud Storage signed URL returned from GenerateUploadUrl and used to upload the Archive zip file.
+  &quot;labels&quot;: { # User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.
+  &quot;operation&quot;: &quot;A String&quot;, # Output only. A reference to the LRO that created this Archive Deployment in the following format: `organizations/{org}/operations/{id}`
+  &quot;updatedAt&quot;: &quot;A String&quot;, # Output only. The time at which the Archive Deployment was updated in milliseconds since the epoch.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/apigee_v1.organizations.environments.html b/docs/dyn/apigee_v1.organizations.environments.html
index 3c1d44a..26d9f29 100644
--- a/docs/dyn/apigee_v1.organizations.environments.html
+++ b/docs/dyn/apigee_v1.organizations.environments.html
@@ -85,6 +85,11 @@
 <p class="firstline">Returns the apis Resource.</p>
 
 <p class="toc_element">
+  <code><a href="apigee_v1.organizations.environments.archiveDeployments.html">archiveDeployments()</a></code>
+</p>
+<p class="firstline">Returns the archiveDeployments Resource.</p>
+
+<p class="toc_element">
   <code><a href="apigee_v1.organizations.environments.caches.html">caches()</a></code>
 </p>
 <p class="firstline">Returns the caches Resource.</p>
@@ -213,7 +218,9 @@
     The object takes the form of:
 
 {
+  &quot;apiProxyType&quot;: &quot;A String&quot;, # Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed.
   &quot;createdAt&quot;: &quot;A String&quot;, # Output only. Creation time of this environment as milliseconds since epoch.
+  &quot;deploymentType&quot;: &quot;A String&quot;, # Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers
   &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the environment.
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. Display name for this environment.
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Output only. Last modification time of this environment as milliseconds since epoch.
@@ -309,7 +316,9 @@
   An object of the form:
 
     {
+  &quot;apiProxyType&quot;: &quot;A String&quot;, # Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed.
   &quot;createdAt&quot;: &quot;A String&quot;, # Output only. Creation time of this environment as milliseconds since epoch.
+  &quot;deploymentType&quot;: &quot;A String&quot;, # Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers
   &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the environment.
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. Display name for this environment.
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Output only. Last modification time of this environment as milliseconds since epoch.
@@ -384,6 +393,7 @@
   An object of the form:
 
     {
+  &quot;arcConfigLocation&quot;: &quot;A String&quot;, # The location for the config blob of API Runtime Control, aka Envoy Adapter, for op-based authentication as a URI, e.g. a Cloud Storage URI. This is only used by Envoy-based gateways.
   &quot;createTime&quot;: &quot;A String&quot;, # Time that the environment configuration was created.
   &quot;dataCollectors&quot;: [ # List of data collectors used by the deployments in the environment.
     { # Data collector and its configuration.
@@ -441,6 +451,7 @@
       &quot;sharedFlowName&quot;: &quot;A String&quot;, # Name of the shared flow to invoke in the following format: `organizations/{org}/sharedflows/{sharedflow}`
     },
   ],
+  &quot;gatewayConfigLocation&quot;: &quot;A String&quot;, # The location for the gateway config blob as a URI, e.g. a Cloud Storage URI. This is only used by Envoy-based gateways.
   &quot;keystores&quot;: [ # List of keystores in the environment.
     {
       &quot;aliases&quot;: [ # Aliases in the keystore.
@@ -768,7 +779,9 @@
     The object takes the form of:
 
 {
+  &quot;apiProxyType&quot;: &quot;A String&quot;, # Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed.
   &quot;createdAt&quot;: &quot;A String&quot;, # Output only. Creation time of this environment as milliseconds since epoch.
+  &quot;deploymentType&quot;: &quot;A String&quot;, # Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers
   &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the environment.
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. Display name for this environment.
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Output only. Last modification time of this environment as milliseconds since epoch.
@@ -793,7 +806,9 @@
   An object of the form:
 
     {
+  &quot;apiProxyType&quot;: &quot;A String&quot;, # Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed.
   &quot;createdAt&quot;: &quot;A String&quot;, # Output only. Creation time of this environment as milliseconds since epoch.
+  &quot;deploymentType&quot;: &quot;A String&quot;, # Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers
   &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the environment.
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. Display name for this environment.
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Output only. Last modification time of this environment as milliseconds since epoch.
@@ -896,7 +911,9 @@
     The object takes the form of:
 
 {
+  &quot;apiProxyType&quot;: &quot;A String&quot;, # Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed.
   &quot;createdAt&quot;: &quot;A String&quot;, # Output only. Creation time of this environment as milliseconds since epoch.
+  &quot;deploymentType&quot;: &quot;A String&quot;, # Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers
   &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the environment.
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. Display name for this environment.
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Output only. Last modification time of this environment as milliseconds since epoch.
@@ -921,7 +938,9 @@
   An object of the form:
 
     {
+  &quot;apiProxyType&quot;: &quot;A String&quot;, # Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed.
   &quot;createdAt&quot;: &quot;A String&quot;, # Output only. Creation time of this environment as milliseconds since epoch.
+  &quot;deploymentType&quot;: &quot;A String&quot;, # Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers
   &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the environment.
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. Display name for this environment.
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Output only. Last modification time of this environment as milliseconds since epoch.
diff --git a/docs/dyn/bigqueryreservation_v1.projects.locations.capacityCommitments.html b/docs/dyn/bigqueryreservation_v1.projects.locations.capacityCommitments.html
index f1de824..9fa5485 100644
--- a/docs/dyn/bigqueryreservation_v1.projects.locations.capacityCommitments.html
+++ b/docs/dyn/bigqueryreservation_v1.projects.locations.capacityCommitments.html
@@ -81,7 +81,7 @@
   <code><a href="#create">create(parent, body=None, capacityCommitmentId=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a new capacity commitment resource.</p>
 <p class="toc_element">
-  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+  <code><a href="#delete">delete(name, force=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a capacity commitment. Attempting to delete capacity commitment before its commitment_end_time will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
@@ -166,11 +166,12 @@
 </div>
 
 <div class="method">
-    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+    <code class="details" id="delete">delete(name, force=None, x__xgafv=None)</code>
   <pre>Deletes a capacity commitment. Attempting to delete capacity commitment before its commitment_end_time will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.
 
 Args:
   name: string, Required. Resource name of the capacity commitment to delete. E.g., `projects/myproject/locations/US/capacityCommitments/123` (required)
+  force: boolean, Can be used to force delete commitments even if assignments exist. Deleting commitments with assignments may cause queries to fail if they no longer have access to slots.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/bigqueryreservation_v1beta1.projects.locations.capacityCommitments.html b/docs/dyn/bigqueryreservation_v1beta1.projects.locations.capacityCommitments.html
index d90dac9..2662228 100644
--- a/docs/dyn/bigqueryreservation_v1beta1.projects.locations.capacityCommitments.html
+++ b/docs/dyn/bigqueryreservation_v1beta1.projects.locations.capacityCommitments.html
@@ -81,7 +81,7 @@
   <code><a href="#create">create(parent, body=None, capacityCommitmentId=None, enforceSingleAdminProjectPerOrg=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a new capacity commitment resource.</p>
 <p class="toc_element">
-  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+  <code><a href="#delete">delete(name, force=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a capacity commitment. Attempting to delete capacity commitment before its commitment_end_time will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
@@ -166,11 +166,12 @@
 </div>
 
 <div class="method">
-    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+    <code class="details" id="delete">delete(name, force=None, x__xgafv=None)</code>
   <pre>Deletes a capacity commitment. Attempting to delete capacity commitment before its commitment_end_time will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.
 
 Args:
   name: string, Required. Resource name of the capacity commitment to delete. E.g., `projects/myproject/locations/US/capacityCommitments/123` (required)
+  force: boolean, Can be used to force delete commitments even if assignments exist. Deleting commitments with assignments may cause queries to fail if they no longer have access to slots.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/calendar_v3.events.html b/docs/dyn/calendar_v3.events.html
index 629831e..b10c2bf 100644
--- a/docs/dyn/calendar_v3.events.html
+++ b/docs/dyn/calendar_v3.events.html
@@ -195,11 +195,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -207,8 +207,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -220,8 +220,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -460,11 +460,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -472,8 +472,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -485,8 +485,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -721,11 +721,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -733,8 +733,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -746,8 +746,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -986,11 +986,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -998,8 +998,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -1011,8 +1011,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -1256,11 +1256,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -1268,8 +1268,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -1281,8 +1281,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -1552,11 +1552,11 @@
         &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
             # Can be used by developers to keep track of conferences, should not be displayed to users.
             # The ID value is formed differently for each conference solution type:
-            # - eventHangout: ID is not set.
-            # - eventNamedHangout: ID is the name of the Hangout.
+            # - eventHangout: ID is not set. (This conference type is deprecated.)
+            # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
             # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
             # - addOn: ID is defined by the third-party provider.  Optional.
-        &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+        &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
             # Unset for a conference with a failed create request.
             # Either conferenceSolution and at least one entryPoint, or createRequest is required.
           &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -1564,8 +1564,8 @@
             &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
                 # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
                 # The possible values are:
-                # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-                # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+                # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+                # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
                 # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
                 # - &quot;addOn&quot; for 3P conference providers
           },
@@ -1577,8 +1577,8 @@
             &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
                 # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
                 # The possible values are:
-                # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-                # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+                # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+                # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
                 # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
                 # - &quot;addOn&quot; for 3P conference providers
           },
@@ -1893,11 +1893,11 @@
         &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
             # Can be used by developers to keep track of conferences, should not be displayed to users.
             # The ID value is formed differently for each conference solution type:
-            # - eventHangout: ID is not set.
-            # - eventNamedHangout: ID is the name of the Hangout.
+            # - eventHangout: ID is not set. (This conference type is deprecated.)
+            # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
             # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
             # - addOn: ID is defined by the third-party provider.  Optional.
-        &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+        &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
             # Unset for a conference with a failed create request.
             # Either conferenceSolution and at least one entryPoint, or createRequest is required.
           &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -1905,8 +1905,8 @@
             &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
                 # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
                 # The possible values are:
-                # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-                # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+                # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+                # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
                 # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
                 # - &quot;addOn&quot; for 3P conference providers
           },
@@ -1918,8 +1918,8 @@
             &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
                 # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
                 # The possible values are:
-                # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-                # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+                # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+                # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
                 # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
                 # - &quot;addOn&quot; for 3P conference providers
           },
@@ -2191,11 +2191,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -2203,8 +2203,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -2216,8 +2216,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -2457,11 +2457,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -2469,8 +2469,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -2482,8 +2482,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -2728,11 +2728,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -2740,8 +2740,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -2753,8 +2753,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -3003,11 +3003,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -3015,8 +3015,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -3028,8 +3028,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -3269,11 +3269,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -3281,8 +3281,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -3294,8 +3294,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -3540,11 +3540,11 @@
     &quot;conferenceId&quot;: &quot;A String&quot;, # The ID of the conference.
         # Can be used by developers to keep track of conferences, should not be displayed to users.
         # The ID value is formed differently for each conference solution type:
-        # - eventHangout: ID is not set.
-        # - eventNamedHangout: ID is the name of the Hangout.
+        # - eventHangout: ID is not set. (This conference type is deprecated.)
+        # - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
         # - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
         # - addOn: ID is defined by the third-party provider.  Optional.
-    &quot;conferenceSolution&quot;: { # The conference solution, such as Hangouts or Google Meet.
+    &quot;conferenceSolution&quot;: { # The conference solution, such as Google Meet.
         # Unset for a conference with a failed create request.
         # Either conferenceSolution and at least one entryPoint, or createRequest is required.
       &quot;iconUri&quot;: &quot;A String&quot;, # The user-visible icon for this solution.
@@ -3552,8 +3552,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
@@ -3565,8 +3565,8 @@
         &quot;type&quot;: &quot;A String&quot;, # The conference solution type.
             # If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.
             # The possible values are:
-            # - &quot;eventHangout&quot; for Hangouts for consumers (http://hangouts.google.com)
-            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)
+            # - &quot;eventHangout&quot; for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)
+            # - &quot;eventNamedHangout&quot; for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)
             # - &quot;hangoutsMeet&quot; for Google Meet (http://meet.google.com)
             # - &quot;addOn&quot; for 3P conference providers
       },
diff --git a/docs/dyn/chat_v1.dms.conversations.html b/docs/dyn/chat_v1.dms.conversations.html
index 032169e..632da2d 100644
--- a/docs/dyn/chat_v1.dms.conversations.html
+++ b/docs/dyn/chat_v1.dms.conversations.html
@@ -834,6 +834,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1607,6 +1608,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.dms.html b/docs/dyn/chat_v1.dms.html
index 83b6c15..9117d85 100644
--- a/docs/dyn/chat_v1.dms.html
+++ b/docs/dyn/chat_v1.dms.html
@@ -842,6 +842,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1615,6 +1616,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -2389,6 +2391,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -3162,6 +3165,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.rooms.conversations.html b/docs/dyn/chat_v1.rooms.conversations.html
index e888e5d..26e5fd1 100644
--- a/docs/dyn/chat_v1.rooms.conversations.html
+++ b/docs/dyn/chat_v1.rooms.conversations.html
@@ -834,6 +834,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1607,6 +1608,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.rooms.html b/docs/dyn/chat_v1.rooms.html
index c58c820..382d7a4 100644
--- a/docs/dyn/chat_v1.rooms.html
+++ b/docs/dyn/chat_v1.rooms.html
@@ -842,6 +842,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1615,6 +1616,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -2389,6 +2391,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -3162,6 +3165,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.spaces.html b/docs/dyn/chat_v1.spaces.html
index 9aa3452..d2f718a 100644
--- a/docs/dyn/chat_v1.spaces.html
+++ b/docs/dyn/chat_v1.spaces.html
@@ -919,6 +919,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1692,6 +1693,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/chat_v1.spaces.messages.html b/docs/dyn/chat_v1.spaces.messages.html
index b21bf86..8612be1 100644
--- a/docs/dyn/chat_v1.spaces.messages.html
+++ b/docs/dyn/chat_v1.spaces.messages.html
@@ -848,6 +848,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -1621,6 +1622,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -2418,6 +2420,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -3192,6 +3195,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
@@ -3965,6 +3969,7 @@
   ],
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat server.
   &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards cannot be displayed (e.g. mobile notifications).
+  &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.
   &quot;name&quot;: &quot;A String&quot;,
   &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the user, but any links to images, web pages, videos, etc. included here will generate preview chips.
   &quot;sender&quot;: { # A user in Google Chat. # The user who created the message.
diff --git a/docs/dyn/cloudbuild_v1.projects.builds.html b/docs/dyn/cloudbuild_v1.projects.builds.html
index bf6e40b..cc107d9 100644
--- a/docs/dyn/cloudbuild_v1.projects.builds.html
+++ b/docs/dyn/cloudbuild_v1.projects.builds.html
@@ -75,6 +75,9 @@
 <h1><a href="cloudbuild_v1.html">Cloud Build API</a> . <a href="cloudbuild_v1.projects.html">projects</a> . <a href="cloudbuild_v1.projects.builds.html">builds</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#approve">approve(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Approves or rejects a pending build. If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. If rejected, the returned LRO will be immediately done.</p>
+<p class="toc_element">
   <code><a href="#cancel">cancel(projectId, id, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Cancels a build in progress.</p>
 <p class="toc_element">
@@ -97,6 +100,54 @@
 <p class="firstline">Creates a new build based on the specified build. This method creates a new build using the original build request, which may or may not result in an identical build. For triggered builds: * Triggered builds resolve to a precise revision; therefore a retry of a triggered build will result in a build that uses the same revision. For non-triggered builds that specify `RepoSource`: * If the original build built from the tip of a branch, the retried build will build from the tip of that branch, which may not be the same revision as the original build. * If the original build specified a commit sha or revision ID, the retried build will use the identical source. For builds that specify `StorageSource`: * If the original build pulled source from Google Cloud Storage without specifying the generation of the object, the new build will use the current object, which may be different from the original build source. * If the original build pulled source from Cloud Storage and specified the generation of the object, the new build will attempt to use the same object, which may or may not be available depending on the bucket's lifecycle management settings.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="approve">approve(name, body=None, x__xgafv=None)</code>
+  <pre>Approves or rejects a pending build. If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. If rejected, the returned LRO will be immediately done.
+
+Args:
+  name: string, Required. Name of the target build. For example: &quot;projects/{$project_id}/builds/{$build_id}&quot; (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to approve or reject a pending build.
+  &quot;approvalResult&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Approval decision and metadata.
+    &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+    &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+    &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+    &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+    &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+  },
+}
+
+  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="cancel">cancel(projectId, id, body=None, x__xgafv=None)</code>
   <pre>Cancels a build in progress.
 
@@ -121,6 +172,19 @@
   An object of the form:
 
     { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
+  &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+    &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+      &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+    },
+    &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+      &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+      &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+      &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+      &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+      &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+    },
+    &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+  },
   &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
     &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
       &quot;A String&quot;,
@@ -306,6 +370,7 @@
         &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
+      &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
       &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
         &quot;A String&quot;,
       ],
@@ -363,6 +428,19 @@
     The object takes the form of:
 
 { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
+  &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+    &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+      &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+    },
+    &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+      &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+      &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+      &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+      &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+      &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+    },
+    &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+  },
   &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
     &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
       &quot;A String&quot;,
@@ -548,6 +626,7 @@
         &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
+      &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
       &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
         &quot;A String&quot;,
       ],
@@ -636,6 +715,19 @@
   An object of the form:
 
     { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
+  &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+    &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+      &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+    },
+    &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+      &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+      &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+      &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+      &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+      &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+    },
+    &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+  },
   &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
     &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
       &quot;A String&quot;,
@@ -821,6 +913,7 @@
         &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
+      &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
       &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
         &quot;A String&quot;,
       ],
@@ -884,6 +977,19 @@
     { # Response including listed builds.
   &quot;builds&quot;: [ # Builds will be sorted by `create_time`, descending.
     { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
+      &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+        &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+          &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+        },
+        &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+          &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+          &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+          &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+          &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+          &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+        },
+        &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+      },
       &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
         &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
           &quot;A String&quot;,
@@ -1069,6 +1175,7 @@
             &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
             &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
           },
+          &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
           &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
             &quot;A String&quot;,
           ],
diff --git a/docs/dyn/cloudbuild_v1.projects.locations.builds.html b/docs/dyn/cloudbuild_v1.projects.locations.builds.html
index e53a725..b358d26 100644
--- a/docs/dyn/cloudbuild_v1.projects.locations.builds.html
+++ b/docs/dyn/cloudbuild_v1.projects.locations.builds.html
@@ -75,6 +75,9 @@
 <h1><a href="cloudbuild_v1.html">Cloud Build API</a> . <a href="cloudbuild_v1.projects.html">projects</a> . <a href="cloudbuild_v1.projects.locations.html">locations</a> . <a href="cloudbuild_v1.projects.locations.builds.html">builds</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#approve">approve(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Approves or rejects a pending build. If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. If rejected, the returned LRO will be immediately done.</p>
+<p class="toc_element">
   <code><a href="#cancel">cancel(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Cancels a build in progress.</p>
 <p class="toc_element">
@@ -97,6 +100,54 @@
 <p class="firstline">Creates a new build based on the specified build. This method creates a new build using the original build request, which may or may not result in an identical build. For triggered builds: * Triggered builds resolve to a precise revision; therefore a retry of a triggered build will result in a build that uses the same revision. For non-triggered builds that specify `RepoSource`: * If the original build built from the tip of a branch, the retried build will build from the tip of that branch, which may not be the same revision as the original build. * If the original build specified a commit sha or revision ID, the retried build will use the identical source. For builds that specify `StorageSource`: * If the original build pulled source from Google Cloud Storage without specifying the generation of the object, the new build will use the current object, which may be different from the original build source. * If the original build pulled source from Cloud Storage and specified the generation of the object, the new build will attempt to use the same object, which may or may not be available depending on the bucket's lifecycle management settings.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="approve">approve(name, body=None, x__xgafv=None)</code>
+  <pre>Approves or rejects a pending build. If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. If rejected, the returned LRO will be immediately done.
+
+Args:
+  name: string, Required. Name of the target build. For example: &quot;projects/{$project_id}/builds/{$build_id}&quot; (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to approve or reject a pending build.
+  &quot;approvalResult&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Approval decision and metadata.
+    &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+    &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+    &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+    &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+    &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+  },
+}
+
+  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="cancel">cancel(name, body=None, x__xgafv=None)</code>
   <pre>Cancels a build in progress.
 
@@ -120,6 +171,19 @@
   An object of the form:
 
     { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
+  &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+    &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+      &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+    },
+    &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+      &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+      &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+      &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+      &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+      &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+    },
+    &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+  },
   &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
     &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
       &quot;A String&quot;,
@@ -305,6 +369,7 @@
         &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
+      &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
       &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
         &quot;A String&quot;,
       ],
@@ -362,6 +427,19 @@
     The object takes the form of:
 
 { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
+  &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+    &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+      &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+    },
+    &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+      &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+      &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+      &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+      &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+      &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+    },
+    &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+  },
   &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
     &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
       &quot;A String&quot;,
@@ -547,6 +625,7 @@
         &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
+      &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
       &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
         &quot;A String&quot;,
       ],
@@ -635,6 +714,19 @@
   An object of the form:
 
     { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
+  &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+    &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+      &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+    },
+    &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+      &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+      &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+      &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+      &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+      &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+    },
+    &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+  },
   &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
     &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
       &quot;A String&quot;,
@@ -820,6 +912,7 @@
         &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
+      &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
       &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
         &quot;A String&quot;,
       ],
@@ -883,6 +976,19 @@
     { # Response including listed builds.
   &quot;builds&quot;: [ # Builds will be sorted by `create_time`, descending.
     { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
+      &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+        &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+          &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+        },
+        &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+          &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+          &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+          &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+          &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+          &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+        },
+        &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+      },
       &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
         &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
           &quot;A String&quot;,
@@ -1068,6 +1174,7 @@
             &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
             &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
           },
+          &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
           &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
             &quot;A String&quot;,
           ],
diff --git a/docs/dyn/cloudbuild_v1.projects.locations.triggers.html b/docs/dyn/cloudbuild_v1.projects.locations.triggers.html
index dfc1f13..0a77d3a 100644
--- a/docs/dyn/cloudbuild_v1.projects.locations.triggers.html
+++ b/docs/dyn/cloudbuild_v1.projects.locations.triggers.html
@@ -117,8 +117,24 @@
     The object takes the form of:
 
 { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -304,6 +320,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -348,7 +365,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -380,7 +403,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -420,8 +443,24 @@
   An object of the form:
 
     { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -607,6 +646,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -651,7 +691,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -683,7 +729,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -751,8 +797,24 @@
   An object of the form:
 
     { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -938,6 +1000,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -982,7 +1045,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -1014,7 +1083,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -1066,8 +1135,24 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to receive the next page of results.
   &quot;triggers&quot;: [ # `BuildTriggers` for the project, sorted by `create_time` descending.
     { # Configuration for an automated build in response to source repository changes.
+      &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
       &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
       &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+        &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+          &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+            &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+          },
+          &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+            &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+            &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+            &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+            &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+            &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+          },
+          &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+        },
         &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
           &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
             &quot;A String&quot;,
@@ -1253,6 +1338,7 @@
               &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
               &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
             },
+            &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
             &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
               &quot;A String&quot;,
             ],
@@ -1297,7 +1383,13 @@
       &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
       &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
       &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-      &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+      &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+      &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+        &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+        &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+        &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+        &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+      },
       &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
         &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
         &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -1329,7 +1421,7 @@
         &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
       },
       &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-      &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
       &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
         &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
         &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -1386,8 +1478,24 @@
     The object takes the form of:
 
 { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -1573,6 +1681,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -1617,7 +1726,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -1649,7 +1764,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -1690,8 +1805,24 @@
   An object of the form:
 
     { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -1877,6 +2008,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -1921,7 +2053,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -1953,7 +2091,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
diff --git a/docs/dyn/cloudbuild_v1.projects.triggers.html b/docs/dyn/cloudbuild_v1.projects.triggers.html
index 5c499c3..2d4f1fa 100644
--- a/docs/dyn/cloudbuild_v1.projects.triggers.html
+++ b/docs/dyn/cloudbuild_v1.projects.triggers.html
@@ -117,8 +117,24 @@
     The object takes the form of:
 
 { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -304,6 +320,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -348,7 +365,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -380,7 +403,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -420,8 +443,24 @@
   An object of the form:
 
     { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -607,6 +646,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -651,7 +691,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -683,7 +729,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -751,8 +797,24 @@
   An object of the form:
 
     { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -938,6 +1000,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -982,7 +1045,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -1014,7 +1083,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -1066,8 +1135,24 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to receive the next page of results.
   &quot;triggers&quot;: [ # `BuildTriggers` for the project, sorted by `create_time` descending.
     { # Configuration for an automated build in response to source repository changes.
+      &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
       &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
       &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+        &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+          &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+            &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+          },
+          &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+            &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+            &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+            &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+            &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+            &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+          },
+          &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+        },
         &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
           &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
             &quot;A String&quot;,
@@ -1253,6 +1338,7 @@
               &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
               &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
             },
+            &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
             &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
               &quot;A String&quot;,
             ],
@@ -1297,7 +1383,13 @@
       &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
       &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
       &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-      &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+      &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+      &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+        &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+        &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+        &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+        &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+      },
       &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
         &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
         &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -1329,7 +1421,7 @@
         &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
       },
       &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-      &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
       &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
         &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
         &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -1387,8 +1479,24 @@
     The object takes the form of:
 
 { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -1574,6 +1682,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -1618,7 +1727,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -1650,7 +1765,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
@@ -1689,8 +1804,24 @@
   An object of the form:
 
     { # Configuration for an automated build in response to source repository changes.
+  &quot;approvalConfig&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Configuration for manual approval to start a build invocation of this BuildTrigger.
+    &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+  },
   &quot;autodetect&quot;: True or False, # Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.
   &quot;build&quot;: { # A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. # Contents of the build template.
+    &quot;approval&quot;: { # BuildApproval describes a build&#x27;s approval configuration, state, and result. # Output only. Describes this build&#x27;s approval configuration, status, and result.
+      &quot;config&quot;: { # ApprovalConfig describes configuration for manual approval of a build. # Output only. Configuration for manual approval of this build.
+        &quot;approvalRequired&quot;: True or False, # Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.
+      },
+      &quot;result&quot;: { # ApprovalResult describes the decision and associated metadata of a manual approval of a build. # Output only. Result of manual approval for this Build.
+        &quot;approvalTime&quot;: &quot;A String&quot;, # Output only. The time when the approval decision was made.
+        &quot;approverAccount&quot;: &quot;A String&quot;, # Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user&#x27;s actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.
+        &quot;comment&quot;: &quot;A String&quot;, # Optional. An optional comment for this manual approval result.
+        &quot;decision&quot;: &quot;A String&quot;, # Required. The decision of this manual approval.
+        &quot;url&quot;: &quot;A String&quot;, # Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of this build&#x27;s approval.
+    },
     &quot;artifacts&quot;: { # Artifacts produced by a build that should be uploaded upon successful completion of all build steps. # Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
       &quot;images&quot;: [ # A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account&#x27;s credentials. The digests of the pushed images will be stored in the Build resource&#x27;s results field. If any of the images fail to be pushed, the build is marked FAILURE.
         &quot;A String&quot;,
@@ -1876,6 +2007,7 @@
           &quot;endTime&quot;: &quot;A String&quot;, # End of time span.
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
+        &quot;script&quot;: &quot;A String&quot;, # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.
         &quot;secretEnv&quot;: [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build&#x27;s `Secret`.
           &quot;A String&quot;,
         ],
@@ -1920,7 +2052,13 @@
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
   &quot;disabled&quot;: True or False, # If true, the trigger will never automatically execute a build.
   &quot;filename&quot;: &quot;A String&quot;, # Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).
-  &quot;filter&quot;: &quot;A String&quot;, # Optional. A Common Expression Language string.
+  &quot;filter&quot;: &quot;A String&quot;, # A Common Expression Language string.
+  &quot;gitFileSource&quot;: { # GitFileSource describes a file within a (possibly remote) code repository. # The file source describing the local or remote Build template.
+    &quot;path&quot;: &quot;A String&quot;, # The path of the file, with the repo root as the root of the path.
+    &quot;repoType&quot;: &quot;A String&quot;, # See RepoType above.
+    &quot;revision&quot;: &quot;A String&quot;, # The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.
+    &quot;uri&quot;: &quot;A String&quot;, # The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.
+  },
   &quot;github&quot;: { # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. # GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`.
     &quot;enterpriseConfigResourceName&quot;: &quot;A String&quot;, # Optional. The resource name of the github enterprise config that should be applied to this installation. For example: &quot;projects/{$project_id}/githubEnterpriseConfig/{$config_id}&quot;
     &quot;installationId&quot;: &quot;A String&quot;, # The installationID that emits the GitHub event.
@@ -1952,7 +2090,7 @@
     &quot;topic&quot;: &quot;A String&quot;, # The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.
   },
   &quot;resourceName&quot;: &quot;A String&quot;, # The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.
-  &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
   &quot;sourceToBuild&quot;: { # GitRepoSource describes a repo and ref of a code repository. # The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers.
     &quot;ref&quot;: &quot;A String&quot;, # The branch or tag to use. Must start with &quot;refs/&quot; (required).
     &quot;repoType&quot;: &quot;A String&quot;, # See RepoType below.
diff --git a/docs/dyn/cloudfunctions_v1.projects.locations.functions.html b/docs/dyn/cloudfunctions_v1.projects.locations.functions.html
index 3c7682a..2cca722 100644
--- a/docs/dyn/cloudfunctions_v1.projects.locations.functions.html
+++ b/docs/dyn/cloudfunctions_v1.projects.locations.functions.html
@@ -217,7 +217,7 @@
     &quot;url&quot;: &quot;A String&quot;, # The URL pointing to the hosted repository where the function is defined. There are supported Cloud Source Repository URLs in the following formats: To refer to a specific commit: `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*` To refer to a moveable alias (branch): `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*` In particular, to refer to HEAD use `master` moveable alias. To refer to a specific fixed alias (tag): `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*` You may omit `paths/*` if you want to use the main directory.
   },
   &quot;sourceToken&quot;: &quot;A String&quot;, # Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.
-  &quot;sourceUploadUrl&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL used for source uploading, generated by google.cloud.functions.v1.GenerateUploadUrl
+  &quot;sourceUploadUrl&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL used for source uploading, generated by calling [google.cloud.functions.v1.GenerateUploadUrl]. The signature is validated on write methods {Create, Update} The signature is stripped from the Function object on read methods {Get, List}
   &quot;status&quot;: &quot;A String&quot;, # Output only. Status of the function deployment.
   &quot;timeout&quot;: &quot;A String&quot;, # The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a Cloud Function.
@@ -416,7 +416,7 @@
     &quot;url&quot;: &quot;A String&quot;, # The URL pointing to the hosted repository where the function is defined. There are supported Cloud Source Repository URLs in the following formats: To refer to a specific commit: `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*` To refer to a moveable alias (branch): `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*` In particular, to refer to HEAD use `master` moveable alias. To refer to a specific fixed alias (tag): `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*` You may omit `paths/*` if you want to use the main directory.
   },
   &quot;sourceToken&quot;: &quot;A String&quot;, # Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.
-  &quot;sourceUploadUrl&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL used for source uploading, generated by google.cloud.functions.v1.GenerateUploadUrl
+  &quot;sourceUploadUrl&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL used for source uploading, generated by calling [google.cloud.functions.v1.GenerateUploadUrl]. The signature is validated on write methods {Create, Update} The signature is stripped from the Function object on read methods {Get, List}
   &quot;status&quot;: &quot;A String&quot;, # Output only. Status of the function deployment.
   &quot;timeout&quot;: &quot;A String&quot;, # The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a Cloud Function.
@@ -553,7 +553,7 @@
         &quot;url&quot;: &quot;A String&quot;, # The URL pointing to the hosted repository where the function is defined. There are supported Cloud Source Repository URLs in the following formats: To refer to a specific commit: `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*` To refer to a moveable alias (branch): `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*` In particular, to refer to HEAD use `master` moveable alias. To refer to a specific fixed alias (tag): `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*` You may omit `paths/*` if you want to use the main directory.
       },
       &quot;sourceToken&quot;: &quot;A String&quot;, # Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.
-      &quot;sourceUploadUrl&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL used for source uploading, generated by google.cloud.functions.v1.GenerateUploadUrl
+      &quot;sourceUploadUrl&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL used for source uploading, generated by calling [google.cloud.functions.v1.GenerateUploadUrl]. The signature is validated on write methods {Create, Update} The signature is stripped from the Function object on read methods {Get, List}
       &quot;status&quot;: &quot;A String&quot;, # Output only. Status of the function deployment.
       &quot;timeout&quot;: &quot;A String&quot;, # The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a Cloud Function.
@@ -653,7 +653,7 @@
     &quot;url&quot;: &quot;A String&quot;, # The URL pointing to the hosted repository where the function is defined. There are supported Cloud Source Repository URLs in the following formats: To refer to a specific commit: `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*` To refer to a moveable alias (branch): `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*` In particular, to refer to HEAD use `master` moveable alias. To refer to a specific fixed alias (tag): `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*` You may omit `paths/*` if you want to use the main directory.
   },
   &quot;sourceToken&quot;: &quot;A String&quot;, # Input only. An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.
-  &quot;sourceUploadUrl&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL used for source uploading, generated by google.cloud.functions.v1.GenerateUploadUrl
+  &quot;sourceUploadUrl&quot;: &quot;A String&quot;, # The Google Cloud Storage signed URL used for source uploading, generated by calling [google.cloud.functions.v1.GenerateUploadUrl]. The signature is validated on write methods {Create, Update} The signature is stripped from the Function object on read methods {Get, List}
   &quot;status&quot;: &quot;A String&quot;, # Output only. Status of the function deployment.
   &quot;timeout&quot;: &quot;A String&quot;, # The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a Cloud Function.
diff --git a/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.html b/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.html
index 14a8c41..682a759 100644
--- a/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.html
+++ b/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.html
@@ -88,7 +88,7 @@
 <p class="firstline">Create a new CryptoKeyVersion in a CryptoKey. The server will assign the next sequential id. If unset, state will be set to ENABLED.</p>
 <p class="toc_element">
   <code><a href="#destroy">destroy(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED and destroy_time will be set to a time 24 hours in the future, at which point the state will be changed to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.</p>
+<p class="firstline">Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns metadata for a given CryptoKeyVersion.</p>
@@ -271,7 +271,7 @@
 
 <div class="method">
     <code class="details" id="destroy">destroy(name, body=None, x__xgafv=None)</code>
-  <pre>Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED and destroy_time will be set to a time 24 hours in the future, at which point the state will be changed to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.
+  <pre>Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.
 
 Args:
   name: string, Required. The resource name of the CryptoKeyVersion to destroy. (required)
diff --git a/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.html b/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.html
index 89cc420..01c8beb 100644
--- a/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.html
+++ b/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.html
@@ -381,7 +381,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -630,7 +630,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
       { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
         &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -672,7 +672,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
diff --git a/docs/dyn/cloudkms_v1.projects.locations.keyRings.html b/docs/dyn/cloudkms_v1.projects.locations.keyRings.html
index cf0be00..f2c8302 100644
--- a/docs/dyn/cloudkms_v1.projects.locations.keyRings.html
+++ b/docs/dyn/cloudkms_v1.projects.locations.keyRings.html
@@ -178,7 +178,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -265,7 +265,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
       { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
         &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -307,7 +307,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
diff --git a/docs/dyn/cloudkms_v1.projects.locations.keyRings.importJobs.html b/docs/dyn/cloudkms_v1.projects.locations.keyRings.importJobs.html
index 01455b5..837aaa2 100644
--- a/docs/dyn/cloudkms_v1.projects.locations.keyRings.importJobs.html
+++ b/docs/dyn/cloudkms_v1.projects.locations.keyRings.importJobs.html
@@ -240,7 +240,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -351,7 +351,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
       { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
         &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -393,7 +393,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
diff --git a/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html b/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html
index 6a5274a..afa4ea1 100644
--- a/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html
+++ b/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html
@@ -87,7 +87,7 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a job.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, legacyAppEngineCron=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(parent, filter=None, legacyAppEngineCron=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists jobs.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -361,11 +361,12 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, legacyAppEngineCron=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, filter=None, legacyAppEngineCron=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>Lists jobs.
 
 Args:
   parent: string, Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`. (required)
+  filter: string, `filter` can be used to specify a subset of jobs. If `filter` equals `target_config=&quot;HttpConfig&quot;`, then the http target jobs are retrieved. If `filter` equals `target_config=&quot;PubSubConfig&quot;`, then the Pub/Sub target jobs are retrieved. If `filter` equals `labels.foo=value1 labels.foo=value2` then only jobs which are labeled with foo=value1 AND foo=value2 will be returned.
   legacyAppEngineCron: boolean, This field is used to manage the legacy App Engine Cron jobs using the Cloud Scheduler API. If the field is set to true, the jobs in the __cron queue will be listed instead.
   pageSize: integer, Requested page size. The maximum page size is 500. If unspecified, the page size will be the maximum. Fewer jobs than requested might be returned, even if more jobs exist; use next_page_token to determine if more jobs exist.
   pageToken: string, A token identifying a page of results the server will return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListJobs. It is an error to switch the value of filter or order_by while iterating through pages.
diff --git a/docs/dyn/composer_v1.projects.locations.environments.html b/docs/dyn/composer_v1.projects.locations.environments.html
index f1ef85e..1965959 100644
--- a/docs/dyn/composer_v1.projects.locations.environments.html
+++ b/docs/dyn/composer_v1.projects.locations.environments.html
@@ -124,9 +124,9 @@
     &quot;nodeConfig&quot;: { # The configuration information for the Kubernetes Engine nodes running the Apache Airflow software. # The configuration used for the Kubernetes Engine cluster.
       &quot;diskSizeGb&quot;: 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.
       &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the GKE cluster running the Apache Airflow software. # Optional. The configuration for controlling how IPs are allocated in the GKE cluster.
-        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
+        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
         &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the GKE cluster&#x27;s secondary range used to allocate IP addresses to pods. This field is applicable only when `use_ip_aliases` is true.
-        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
+        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
         &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the services&#x27; secondary range used to allocate IP addresses to the GKE cluster. This field is applicable only when `use_ip_aliases` is true.
         &quot;useIpAliases&quot;: True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created.
       },
@@ -281,9 +281,9 @@
     &quot;nodeConfig&quot;: { # The configuration information for the Kubernetes Engine nodes running the Apache Airflow software. # The configuration used for the Kubernetes Engine cluster.
       &quot;diskSizeGb&quot;: 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.
       &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the GKE cluster running the Apache Airflow software. # Optional. The configuration for controlling how IPs are allocated in the GKE cluster.
-        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
+        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
         &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the GKE cluster&#x27;s secondary range used to allocate IP addresses to pods. This field is applicable only when `use_ip_aliases` is true.
-        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
+        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
         &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the services&#x27; secondary range used to allocate IP addresses to the GKE cluster. This field is applicable only when `use_ip_aliases` is true.
         &quot;useIpAliases&quot;: True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created.
       },
@@ -379,9 +379,9 @@
         &quot;nodeConfig&quot;: { # The configuration information for the Kubernetes Engine nodes running the Apache Airflow software. # The configuration used for the Kubernetes Engine cluster.
           &quot;diskSizeGb&quot;: 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.
           &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the GKE cluster running the Apache Airflow software. # Optional. The configuration for controlling how IPs are allocated in the GKE cluster.
-            &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
+            &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
             &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the GKE cluster&#x27;s secondary range used to allocate IP addresses to pods. This field is applicable only when `use_ip_aliases` is true.
-            &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
+            &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
             &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the services&#x27; secondary range used to allocate IP addresses to the GKE cluster. This field is applicable only when `use_ip_aliases` is true.
             &quot;useIpAliases&quot;: True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created.
           },
@@ -485,9 +485,9 @@
     &quot;nodeConfig&quot;: { # The configuration information for the Kubernetes Engine nodes running the Apache Airflow software. # The configuration used for the Kubernetes Engine cluster.
       &quot;diskSizeGb&quot;: 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.
       &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the GKE cluster running the Apache Airflow software. # Optional. The configuration for controlling how IPs are allocated in the GKE cluster.
-        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
+        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
         &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the GKE cluster&#x27;s secondary range used to allocate IP addresses to pods. This field is applicable only when `use_ip_aliases` is true.
-        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
+        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.
         &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the services&#x27; secondary range used to allocate IP addresses to the GKE cluster. This field is applicable only when `use_ip_aliases` is true.
         &quot;useIpAliases&quot;: True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created.
       },
diff --git a/docs/dyn/composer_v1beta1.projects.locations.environments.html b/docs/dyn/composer_v1beta1.projects.locations.environments.html
index b47a47f..6923ca6 100644
--- a/docs/dyn/composer_v1beta1.projects.locations.environments.html
+++ b/docs/dyn/composer_v1beta1.projects.locations.environments.html
@@ -179,9 +179,9 @@
       &quot;diskSizeGb&quot;: 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
       &quot;enableIpMasqAgent&quot;: True or False, # Optional. Deploys &#x27;ip-masq-agent&#x27; daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
       &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the GKE cluster. # Optional. The IPAllocationPolicy fields for the GKE cluster.
-        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.
+        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.
         &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the cluster&#x27;s secondary range used to allocate IP addresses to pods. Specify either `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.
-        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.
+        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.
         &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the services&#x27; secondary range used to allocate IP addresses to the cluster. Specify either `services_secondary_range_name` or `services_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.
         &quot;useIpAliases&quot;: True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created. This field is only supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use VPC-native GKE clusters.
       },
@@ -368,9 +368,9 @@
       &quot;diskSizeGb&quot;: 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
       &quot;enableIpMasqAgent&quot;: True or False, # Optional. Deploys &#x27;ip-masq-agent&#x27; daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
       &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the GKE cluster. # Optional. The IPAllocationPolicy fields for the GKE cluster.
-        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.
+        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.
         &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the cluster&#x27;s secondary range used to allocate IP addresses to pods. Specify either `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.
-        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.
+        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.
         &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the services&#x27; secondary range used to allocate IP addresses to the cluster. Specify either `services_secondary_range_name` or `services_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.
         &quot;useIpAliases&quot;: True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created. This field is only supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use VPC-native GKE clusters.
       },
@@ -498,9 +498,9 @@
           &quot;diskSizeGb&quot;: 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
           &quot;enableIpMasqAgent&quot;: True or False, # Optional. Deploys &#x27;ip-masq-agent&#x27; daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
           &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the GKE cluster. # Optional. The IPAllocationPolicy fields for the GKE cluster.
-            &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.
+            &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.
             &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the cluster&#x27;s secondary range used to allocate IP addresses to pods. Specify either `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.
-            &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.
+            &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.
             &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the services&#x27; secondary range used to allocate IP addresses to the cluster. Specify either `services_secondary_range_name` or `services_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.
             &quot;useIpAliases&quot;: True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created. This field is only supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use VPC-native GKE clusters.
           },
@@ -636,9 +636,9 @@
       &quot;diskSizeGb&quot;: 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
       &quot;enableIpMasqAgent&quot;: True or False, # Optional. Deploys &#x27;ip-masq-agent&#x27; daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
       &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the GKE cluster. # Optional. The IPAllocationPolicy fields for the GKE cluster.
-        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.
+        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.
         &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the cluster&#x27;s secondary range used to allocate IP addresses to pods. Specify either `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.
-        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.
+        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.
         &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # Optional. The name of the services&#x27; secondary range used to allocate IP addresses to the cluster. Specify either `services_secondary_range_name` or `services_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.
         &quot;useIpAliases&quot;: True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created. This field is only supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use VPC-native GKE clusters.
       },
diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.html b/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.html
index bf74afb..4c7bba3 100644
--- a/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.html
+++ b/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.html
@@ -347,8 +347,10 @@
         &quot;confidence&quot;: 3.14, # A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.
         &quot;languageCode&quot;: &quot;A String&quot;, # The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: &quot;en-US&quot;.
         &quot;segmentParticipant&quot;: { # The call participant speaking for a given utterance. # The participant of this segment.
-          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipantName&quot;: &quot;A String&quot;, # The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
           &quot;role&quot;: &quot;A String&quot;, # The role of the participant.
+          &quot;userId&quot;: &quot;A String&quot;, # A user-specified ID representing the participant.
         },
         &quot;text&quot;: &quot;A String&quot;, # The text of this segment.
         &quot;words&quot;: [ # A list of the word-specific information for each word in the segment.
@@ -565,8 +567,10 @@
         &quot;confidence&quot;: 3.14, # A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.
         &quot;languageCode&quot;: &quot;A String&quot;, # The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: &quot;en-US&quot;.
         &quot;segmentParticipant&quot;: { # The call participant speaking for a given utterance. # The participant of this segment.
-          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipantName&quot;: &quot;A String&quot;, # The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
           &quot;role&quot;: &quot;A String&quot;, # The role of the participant.
+          &quot;userId&quot;: &quot;A String&quot;, # A user-specified ID representing the participant.
         },
         &quot;text&quot;: &quot;A String&quot;, # The text of this segment.
         &quot;words&quot;: [ # A list of the word-specific information for each word in the segment.
@@ -813,8 +817,10 @@
         &quot;confidence&quot;: 3.14, # A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.
         &quot;languageCode&quot;: &quot;A String&quot;, # The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: &quot;en-US&quot;.
         &quot;segmentParticipant&quot;: { # The call participant speaking for a given utterance. # The participant of this segment.
-          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipantName&quot;: &quot;A String&quot;, # The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
           &quot;role&quot;: &quot;A String&quot;, # The role of the participant.
+          &quot;userId&quot;: &quot;A String&quot;, # A user-specified ID representing the participant.
         },
         &quot;text&quot;: &quot;A String&quot;, # The text of this segment.
         &quot;words&quot;: [ # A list of the word-specific information for each word in the segment.
@@ -1047,8 +1053,10 @@
             &quot;confidence&quot;: 3.14, # A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.
             &quot;languageCode&quot;: &quot;A String&quot;, # The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: &quot;en-US&quot;.
             &quot;segmentParticipant&quot;: { # The call participant speaking for a given utterance. # The participant of this segment.
-              &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+              &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+              &quot;dialogflowParticipantName&quot;: &quot;A String&quot;, # The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
               &quot;role&quot;: &quot;A String&quot;, # The role of the participant.
+              &quot;userId&quot;: &quot;A String&quot;, # A user-specified ID representing the participant.
             },
             &quot;text&quot;: &quot;A String&quot;, # The text of this segment.
             &quot;words&quot;: [ # A list of the word-specific information for each word in the segment.
@@ -1283,8 +1291,10 @@
         &quot;confidence&quot;: 3.14, # A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.
         &quot;languageCode&quot;: &quot;A String&quot;, # The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: &quot;en-US&quot;.
         &quot;segmentParticipant&quot;: { # The call participant speaking for a given utterance. # The participant of this segment.
-          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipantName&quot;: &quot;A String&quot;, # The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
           &quot;role&quot;: &quot;A String&quot;, # The role of the participant.
+          &quot;userId&quot;: &quot;A String&quot;, # A user-specified ID representing the participant.
         },
         &quot;text&quot;: &quot;A String&quot;, # The text of this segment.
         &quot;words&quot;: [ # A list of the word-specific information for each word in the segment.
@@ -1501,8 +1511,10 @@
         &quot;confidence&quot;: 3.14, # A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.
         &quot;languageCode&quot;: &quot;A String&quot;, # The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: &quot;en-US&quot;.
         &quot;segmentParticipant&quot;: { # The call participant speaking for a given utterance. # The participant of this segment.
-          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipant&quot;: &quot;A String&quot;, # Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
+          &quot;dialogflowParticipantName&quot;: &quot;A String&quot;, # The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
           &quot;role&quot;: &quot;A String&quot;, # The role of the participant.
+          &quot;userId&quot;: &quot;A String&quot;, # A user-specified ID representing the participant.
         },
         &quot;text&quot;: &quot;A String&quot;, # The text of this segment.
         &quot;words&quot;: [ # A list of the word-specific information for each word in the segment.
diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.html b/docs/dyn/contactcenterinsights_v1.projects.locations.html
index a093cd3..385bdf1 100644
--- a/docs/dyn/contactcenterinsights_v1.projects.locations.html
+++ b/docs/dyn/contactcenterinsights_v1.projects.locations.html
@@ -136,7 +136,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings was created.
   &quot;languageCode&quot;: &quot;A String&quot;, # A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to &quot;en-US&quot; if it is neither specified on the segment nor here.
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings
-  &quot;pubsubNotificationSettings&quot;: { # A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * &quot;all-triggers&quot;: Notify each time any of the supported triggers occurs. * &quot;create-analysis&quot;: Notify each time an analysis is created. * &quot;create-conversation&quot;: Notify each time a conversation is created. * &quot;export-insights-data&quot;: Notify each time an export is complete. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}
+  &quot;pubsubNotificationSettings&quot;: { # A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * &quot;all-triggers&quot;: Notify each time any of the supported triggers occurs. * &quot;create-analysis&quot;: Notify each time an analysis is created. * &quot;create-conversation&quot;: Notify each time a conversation is created. * &quot;export-insights-data&quot;: Notify each time an export is complete. * &quot;update-conversation&quot;: Notify each time a conversation is updated via UpdateConversation. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings were last updated.
@@ -160,7 +160,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings was created.
   &quot;languageCode&quot;: &quot;A String&quot;, # A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to &quot;en-US&quot; if it is neither specified on the segment nor here.
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings
-  &quot;pubsubNotificationSettings&quot;: { # A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * &quot;all-triggers&quot;: Notify each time any of the supported triggers occurs. * &quot;create-analysis&quot;: Notify each time an analysis is created. * &quot;create-conversation&quot;: Notify each time a conversation is created. * &quot;export-insights-data&quot;: Notify each time an export is complete. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}
+  &quot;pubsubNotificationSettings&quot;: { # A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * &quot;all-triggers&quot;: Notify each time any of the supported triggers occurs. * &quot;create-analysis&quot;: Notify each time an analysis is created. * &quot;create-conversation&quot;: Notify each time a conversation is created. * &quot;export-insights-data&quot;: Notify each time an export is complete. * &quot;update-conversation&quot;: Notify each time a conversation is updated via UpdateConversation. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings were last updated.
@@ -183,7 +183,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings was created.
   &quot;languageCode&quot;: &quot;A String&quot;, # A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to &quot;en-US&quot; if it is neither specified on the segment nor here.
   &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings
-  &quot;pubsubNotificationSettings&quot;: { # A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * &quot;all-triggers&quot;: Notify each time any of the supported triggers occurs. * &quot;create-analysis&quot;: Notify each time an analysis is created. * &quot;create-conversation&quot;: Notify each time a conversation is created. * &quot;export-insights-data&quot;: Notify each time an export is complete. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}
+  &quot;pubsubNotificationSettings&quot;: { # A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * &quot;all-triggers&quot;: Notify each time any of the supported triggers occurs. * &quot;create-analysis&quot;: Notify each time an analysis is created. * &quot;create-conversation&quot;: Notify each time a conversation is created. * &quot;export-insights-data&quot;: Notify each time an export is complete. * &quot;update-conversation&quot;: Notify each time a conversation is updated via UpdateConversation. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings were last updated.
diff --git a/docs/dyn/content_v2_1.accounts.html b/docs/dyn/content_v2_1.accounts.html
index cee61c6..b179040 100644
--- a/docs/dyn/content_v2_1.accounts.html
+++ b/docs/dyn/content_v2_1.accounts.html
@@ -213,7 +213,7 @@
         ],
         &quot;businessInformation&quot;: { # The business information of the account.
           &quot;address&quot;: { # The address of the business.
-            &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.
+            &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.
             &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
             &quot;postalCode&quot;: &quot;A String&quot;, # Postal code or ZIP (e.g. &quot;94043&quot;).
             &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
@@ -303,7 +303,7 @@
         ],
         &quot;businessInformation&quot;: { # The business information of the account.
           &quot;address&quot;: { # The address of the business.
-            &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.
+            &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.
             &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
             &quot;postalCode&quot;: &quot;A String&quot;, # Postal code or ZIP (e.g. &quot;94043&quot;).
             &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
@@ -413,7 +413,7 @@
   ],
   &quot;businessInformation&quot;: { # The business information of the account.
     &quot;address&quot;: { # The address of the business.
-      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.
+      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.
       &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
       &quot;postalCode&quot;: &quot;A String&quot;, # Postal code or ZIP (e.g. &quot;94043&quot;).
       &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
@@ -481,7 +481,7 @@
   ],
   &quot;businessInformation&quot;: { # The business information of the account.
     &quot;address&quot;: { # The address of the business.
-      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.
+      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.
       &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
       &quot;postalCode&quot;: &quot;A String&quot;, # Postal code or ZIP (e.g. &quot;94043&quot;).
       &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
@@ -547,7 +547,7 @@
   ],
   &quot;businessInformation&quot;: { # The business information of the account.
     &quot;address&quot;: { # The address of the business.
-      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.
+      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.
       &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
       &quot;postalCode&quot;: &quot;A String&quot;, # Postal code or ZIP (e.g. &quot;94043&quot;).
       &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
@@ -668,7 +668,7 @@
       ],
       &quot;businessInformation&quot;: { # The business information of the account.
         &quot;address&quot;: { # The address of the business.
-          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.
           &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
           &quot;postalCode&quot;: &quot;A String&quot;, # Postal code or ZIP (e.g. &quot;94043&quot;).
           &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
@@ -831,7 +831,7 @@
   ],
   &quot;businessInformation&quot;: { # The business information of the account.
     &quot;address&quot;: { # The address of the business.
-      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.
+      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.
       &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
       &quot;postalCode&quot;: &quot;A String&quot;, # Postal code or ZIP (e.g. &quot;94043&quot;).
       &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
@@ -897,7 +897,7 @@
   ],
   &quot;businessInformation&quot;: { # The business information of the account.
     &quot;address&quot;: { # The address of the business.
-      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.
+      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.
       &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
       &quot;postalCode&quot;: &quot;A String&quot;, # Postal code or ZIP (e.g. &quot;94043&quot;).
       &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
diff --git a/docs/dyn/content_v2_1.products.html b/docs/dyn/content_v2_1.products.html
index f1c1c49..5106ea4 100644
--- a/docs/dyn/content_v2_1.products.html
+++ b/docs/dyn/content_v2_1.products.html
@@ -310,7 +310,7 @@
           &quot;value&quot;: 3.14, # The measure of an item.
         },
       },
-      &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to mutate. Only defined if the method is `get`, `delete`, or `update`. or `delete`.
+      &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to get or mutate. Only defined if the method is `get`, `delete`, or `update`.
       &quot;updateMask&quot;: &quot;A String&quot;, # The comma-separated list of product attributes to be updated. Example: `&quot;title,salePrice&quot;`. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged. Only defined if the method is `update`.
     },
   ],
diff --git a/docs/dyn/dataproc_v1.projects.locations.autoscalingPolicies.html b/docs/dyn/dataproc_v1.projects.locations.autoscalingPolicies.html
index fc25b41..05527e1 100644
--- a/docs/dyn/dataproc_v1.projects.locations.autoscalingPolicies.html
+++ b/docs/dyn/dataproc_v1.projects.locations.autoscalingPolicies.html
@@ -259,7 +259,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -350,7 +350,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -378,7 +378,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html b/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html
index ea75d8b..6518b8a 100644
--- a/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html
+++ b/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html
@@ -360,7 +360,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -405,7 +405,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -423,7 +423,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -460,7 +460,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -518,7 +518,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -527,8 +527,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -815,7 +815,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -860,7 +860,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -878,7 +878,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -915,7 +915,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -973,7 +973,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -982,8 +982,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1297,7 +1297,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -1342,7 +1342,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -1360,7 +1360,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1397,7 +1397,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1455,7 +1455,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -1464,8 +1464,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1533,7 +1533,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -1843,7 +1843,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -1888,7 +1888,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -1906,7 +1906,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1943,7 +1943,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2001,7 +2001,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -2010,8 +2010,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2339,7 +2339,7 @@
             &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
               &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
             },
-            &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+            &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
             &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
               &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
             },
@@ -2384,7 +2384,7 @@
               ],
               &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
             },
-            &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+            &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
               &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
                 &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
                 &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -2402,7 +2402,7 @@
               &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
               &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
             },
-            &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+            &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
               &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
                 { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
                   &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2439,7 +2439,7 @@
             &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
               &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
             },
-            &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+            &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
               &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
                 { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
                   &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2497,7 +2497,7 @@
                 &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
               },
             },
-            &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+            &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
               &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
               &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
                 &quot;A String&quot;,
@@ -2506,8 +2506,8 @@
                 &quot;a_key&quot;: &quot;A String&quot;,
               },
             },
-            &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-            &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+            &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+            &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
               &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
                 { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
                   &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2578,7 +2578,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -2606,7 +2606,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -2900,7 +2900,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -2945,7 +2945,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -2963,7 +2963,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3000,7 +3000,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3058,7 +3058,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -3067,8 +3067,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3355,7 +3355,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -3400,7 +3400,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -3418,7 +3418,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3455,7 +3455,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3513,7 +3513,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -3522,8 +3522,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
diff --git a/docs/dyn/dataproc_v1.projects.regions.autoscalingPolicies.html b/docs/dyn/dataproc_v1.projects.regions.autoscalingPolicies.html
index f258865..299ee74 100644
--- a/docs/dyn/dataproc_v1.projects.regions.autoscalingPolicies.html
+++ b/docs/dyn/dataproc_v1.projects.regions.autoscalingPolicies.html
@@ -259,7 +259,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -350,7 +350,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -378,7 +378,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1.projects.regions.clusters.html b/docs/dyn/dataproc_v1.projects.regions.clusters.html
index 99d21e3..c4c50e3 100644
--- a/docs/dyn/dataproc_v1.projects.regions.clusters.html
+++ b/docs/dyn/dataproc_v1.projects.regions.clusters.html
@@ -135,14 +135,14 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Describes the identifying information, config, and status of a cluster of Compute Engine instances.
+{ # Describes the identifying information, config, and status of a Dataproc cluster
   &quot;clusterName&quot;: &quot;A String&quot;, # Required. The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused.
   &quot;clusterUuid&quot;: &quot;A String&quot;, # Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster.
-  &quot;config&quot;: { # The cluster config. # Required. The cluster config. Note that Dataproc may set default values, and values may change when clusters are updated.
+  &quot;config&quot;: { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.
     &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
       &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
     },
-    &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+    &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
     &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
       &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
     },
@@ -187,7 +187,7 @@
       ],
       &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
     },
-    &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+    &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
       &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
         &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
         &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -205,7 +205,7 @@
       &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
       &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
     },
-    &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+    &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
       &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
         { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
           &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -242,7 +242,7 @@
     &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
       &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
     },
-    &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+    &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
       &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
         { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
           &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -300,7 +300,7 @@
         &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
       },
     },
-    &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+    &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
       &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
       &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
         &quot;A String&quot;,
@@ -309,8 +309,8 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
     },
-    &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-    &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+    &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+    &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
       &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
         { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
           &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -501,14 +501,14 @@
 Returns:
   An object of the form:
 
-    { # Describes the identifying information, config, and status of a cluster of Compute Engine instances.
+    { # Describes the identifying information, config, and status of a Dataproc cluster
   &quot;clusterName&quot;: &quot;A String&quot;, # Required. The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused.
   &quot;clusterUuid&quot;: &quot;A String&quot;, # Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster.
-  &quot;config&quot;: { # The cluster config. # Required. The cluster config. Note that Dataproc may set default values, and values may change when clusters are updated.
+  &quot;config&quot;: { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.
     &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
       &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
     },
-    &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+    &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
     &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
       &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
     },
@@ -553,7 +553,7 @@
       ],
       &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
     },
-    &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+    &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
       &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
         &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
         &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -571,7 +571,7 @@
       &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
       &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
     },
-    &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+    &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
       &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
         { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
           &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -608,7 +608,7 @@
     &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
       &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
     },
-    &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+    &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
       &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
         { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
           &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -666,7 +666,7 @@
         &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
       },
     },
-    &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+    &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
       &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
       &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
         &quot;A String&quot;,
@@ -675,8 +675,8 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
     },
-    &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-    &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+    &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+    &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
       &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
         { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
           &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -763,7 +763,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -848,14 +848,14 @@
 
     { # The list of all clusters in a project.
   &quot;clusters&quot;: [ # Output only. The clusters in the project.
-    { # Describes the identifying information, config, and status of a cluster of Compute Engine instances.
+    { # Describes the identifying information, config, and status of a Dataproc cluster
       &quot;clusterName&quot;: &quot;A String&quot;, # Required. The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused.
       &quot;clusterUuid&quot;: &quot;A String&quot;, # Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster.
-      &quot;config&quot;: { # The cluster config. # Required. The cluster config. Note that Dataproc may set default values, and values may change when clusters are updated.
+      &quot;config&quot;: { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -900,7 +900,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -918,7 +918,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -955,7 +955,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1013,7 +1013,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -1022,8 +1022,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1115,14 +1115,14 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Describes the identifying information, config, and status of a cluster of Compute Engine instances.
+{ # Describes the identifying information, config, and status of a Dataproc cluster
   &quot;clusterName&quot;: &quot;A String&quot;, # Required. The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused.
   &quot;clusterUuid&quot;: &quot;A String&quot;, # Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster.
-  &quot;config&quot;: { # The cluster config. # Required. The cluster config. Note that Dataproc may set default values, and values may change when clusters are updated.
+  &quot;config&quot;: { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.
     &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
       &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
     },
-    &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+    &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
     &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
       &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
     },
@@ -1167,7 +1167,7 @@
       ],
       &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
     },
-    &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+    &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
       &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
         &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
         &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -1185,7 +1185,7 @@
       &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
       &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
     },
-    &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+    &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
       &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
         { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
           &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1222,7 +1222,7 @@
     &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
       &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
     },
-    &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+    &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
       &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
         { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
           &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1280,7 +1280,7 @@
         &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
       },
     },
-    &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+    &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
       &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
       &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
         &quot;A String&quot;,
@@ -1289,8 +1289,8 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
     },
-    &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-    &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+    &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+    &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
       &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
         { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
           &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1440,7 +1440,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -1468,7 +1468,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1.projects.regions.jobs.html b/docs/dyn/dataproc_v1.projects.regions.jobs.html
index e2716bd..112a9c1 100644
--- a/docs/dyn/dataproc_v1.projects.regions.jobs.html
+++ b/docs/dyn/dataproc_v1.projects.regions.jobs.html
@@ -649,7 +649,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -1419,7 +1419,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -1447,7 +1447,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1.projects.regions.operations.html b/docs/dyn/dataproc_v1.projects.regions.operations.html
index a516b00..1c2a0b1 100644
--- a/docs/dyn/dataproc_v1.projects.regions.operations.html
+++ b/docs/dyn/dataproc_v1.projects.regions.operations.html
@@ -201,7 +201,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -288,7 +288,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -316,7 +316,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html b/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html
index 870306e..2cacd9f 100644
--- a/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html
+++ b/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html
@@ -360,7 +360,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -405,7 +405,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -423,7 +423,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -460,7 +460,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -518,7 +518,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -527,8 +527,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -815,7 +815,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -860,7 +860,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -878,7 +878,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -915,7 +915,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -973,7 +973,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -982,8 +982,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1297,7 +1297,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -1342,7 +1342,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -1360,7 +1360,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1397,7 +1397,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1455,7 +1455,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -1464,8 +1464,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1533,7 +1533,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -1843,7 +1843,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -1888,7 +1888,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -1906,7 +1906,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -1943,7 +1943,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2001,7 +2001,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -2010,8 +2010,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2339,7 +2339,7 @@
             &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
               &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
             },
-            &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+            &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
             &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
               &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
             },
@@ -2384,7 +2384,7 @@
               ],
               &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
             },
-            &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+            &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
               &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
                 &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
                 &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -2402,7 +2402,7 @@
               &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
               &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
             },
-            &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+            &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
               &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
                 { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
                   &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2439,7 +2439,7 @@
             &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
               &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
             },
-            &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+            &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
               &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
                 { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
                   &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2497,7 +2497,7 @@
                 &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
               },
             },
-            &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+            &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
               &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
               &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
                 &quot;A String&quot;,
@@ -2506,8 +2506,8 @@
                 &quot;a_key&quot;: &quot;A String&quot;,
               },
             },
-            &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-            &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+            &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+            &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
               &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
                 { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
                   &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -2578,7 +2578,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -2606,7 +2606,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -2900,7 +2900,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -2945,7 +2945,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -2963,7 +2963,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3000,7 +3000,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3058,7 +3058,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -3067,8 +3067,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3355,7 +3355,7 @@
         &quot;autoscalingConfig&quot;: { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset.
           &quot;policyUri&quot;: &quot;A String&quot;, # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.
         },
-        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
+        &quot;configBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
         &quot;encryptionConfig&quot;: { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster.
           &quot;gcePdKmsKeyName&quot;: &quot;A String&quot;, # Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.
         },
@@ -3400,7 +3400,7 @@
           ],
           &quot;zoneUri&quot;: &quot;A String&quot;, # Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the &quot;global&quot; region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] us-central1-f
         },
-        &quot;gkeClusterConfig&quot;: { # The GKE config for this cluster. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
+        &quot;gkeClusterConfig&quot;: { # The cluster&#x27;s GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. Setting this is considered mutually exclusive with Compute Engine-based options such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config.
           &quot;namespacedGkeDeploymentTarget&quot;: { # A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. A target for the deployment.
             &quot;clusterNamespace&quot;: &quot;A String&quot;, # Optional. A namespace within the GKE cluster to deploy into.
             &quot;targetGkeCluster&quot;: &quot;A String&quot;, # Optional. The target GKE cluster to deploy to. Format: &#x27;projects/{project}/locations/{location}/clusters/{cluster_id}&#x27;
@@ -3418,7 +3418,7 @@
           &quot;idleDeleteTtl&quot;: &quot;A String&quot;, # Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).
           &quot;idleStartTime&quot;: &quot;A String&quot;, # Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
         },
-        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the master instance in a cluster.
+        &quot;masterConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s master instance.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3455,7 +3455,7 @@
         &quot;metastoreConfig&quot;: { # Specifies a Metastore configuration. # Optional. Metastore configuration.
           &quot;dataprocMetastoreService&quot;: &quot;A String&quot;, # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]
         },
-        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for additional worker instances in a cluster.
+        &quot;secondaryWorkerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster&#x27;s secondary worker instances
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
@@ -3513,7 +3513,7 @@
             &quot;truststoreUri&quot;: &quot;A String&quot;, # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.
           },
         },
-        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for software inside the cluster.
+        &quot;softwareConfig&quot;: { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software.
           &quot;imageVersion&quot;: &quot;A String&quot;, # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as &quot;1.2&quot; (including a subminor version, such as &quot;1.2.29&quot;), or the &quot;preview&quot; version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.
           &quot;optionalComponents&quot;: [ # Optional. The set of components to activate on the cluster.
             &quot;A String&quot;,
@@ -3522,8 +3522,8 @@
             &quot;a_key&quot;: &quot;A String&quot;,
           },
         },
-        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
-        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for worker instances in a cluster.
+        &quot;tempBucket&quot;: &quot;A String&quot;, # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster&#x27;s temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
+        &quot;workerConfig&quot;: { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster&#x27;s worker instances.
           &quot;accelerators&quot;: [ # Optional. The Compute Engine accelerator configuration for these instances.
             { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).
               &quot;acceleratorCount&quot;: 42, # The number of the accelerator cards of this type exposed to this instance.
diff --git a/docs/dyn/dataproc_v1beta2.projects.locations.autoscalingPolicies.html b/docs/dyn/dataproc_v1beta2.projects.locations.autoscalingPolicies.html
index d5f1050..1bab83b 100644
--- a/docs/dyn/dataproc_v1beta2.projects.locations.autoscalingPolicies.html
+++ b/docs/dyn/dataproc_v1beta2.projects.locations.autoscalingPolicies.html
@@ -251,7 +251,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -342,7 +342,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -370,7 +370,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1beta2.projects.locations.workflowTemplates.html b/docs/dyn/dataproc_v1beta2.projects.locations.workflowTemplates.html
index 5e87197..7b79ed4 100644
--- a/docs/dyn/dataproc_v1beta2.projects.locations.workflowTemplates.html
+++ b/docs/dyn/dataproc_v1beta2.projects.locations.workflowTemplates.html
@@ -1492,7 +1492,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -2517,7 +2517,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -2545,7 +2545,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1beta2.projects.regions.autoscalingPolicies.html b/docs/dyn/dataproc_v1beta2.projects.regions.autoscalingPolicies.html
index 9e60534..8f05c6f 100644
--- a/docs/dyn/dataproc_v1beta2.projects.regions.autoscalingPolicies.html
+++ b/docs/dyn/dataproc_v1beta2.projects.regions.autoscalingPolicies.html
@@ -251,7 +251,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -342,7 +342,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -370,7 +370,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1beta2.projects.regions.clusters.html b/docs/dyn/dataproc_v1beta2.projects.regions.clusters.html
index 3b8a5a5..834dcda 100644
--- a/docs/dyn/dataproc_v1beta2.projects.regions.clusters.html
+++ b/docs/dyn/dataproc_v1beta2.projects.regions.clusters.html
@@ -730,7 +730,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -1340,7 +1340,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -1368,7 +1368,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1beta2.projects.regions.jobs.html b/docs/dyn/dataproc_v1beta2.projects.regions.jobs.html
index 5124013..16d0595 100644
--- a/docs/dyn/dataproc_v1beta2.projects.regions.jobs.html
+++ b/docs/dyn/dataproc_v1beta2.projects.regions.jobs.html
@@ -643,7 +643,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -1416,7 +1416,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -1444,7 +1444,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1beta2.projects.regions.operations.html b/docs/dyn/dataproc_v1beta2.projects.regions.operations.html
index e269aaf..ae6d525 100644
--- a/docs/dyn/dataproc_v1beta2.projects.regions.operations.html
+++ b/docs/dyn/dataproc_v1beta2.projects.regions.operations.html
@@ -193,7 +193,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -280,7 +280,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -308,7 +308,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/dataproc_v1beta2.projects.regions.workflowTemplates.html b/docs/dyn/dataproc_v1beta2.projects.regions.workflowTemplates.html
index 27eb90d..3ab6ef9 100644
--- a/docs/dyn/dataproc_v1beta2.projects.regions.workflowTemplates.html
+++ b/docs/dyn/dataproc_v1beta2.projects.regions.workflowTemplates.html
@@ -1492,7 +1492,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -2517,7 +2517,7 @@
     The object takes the form of:
 
 { # Request message for SetIamPolicy method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
       { # Associates members with a role.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -2545,7 +2545,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of members to a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one member.
     { # Associates members with a role.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/datastore_v1beta3.projects.html b/docs/dyn/datastore_v1beta3.projects.html
index 5bd9b36..6813001 100644
--- a/docs/dyn/datastore_v1beta3.projects.html
+++ b/docs/dyn/datastore_v1beta3.projects.html
@@ -232,7 +232,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;update&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to update. The entity must already exist. Must have a complete key path.
@@ -250,7 +283,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;upsert&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to upsert. The entity may or may not already exist. The entity key&#x27;s final path element may be incomplete.
@@ -268,7 +334,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
     },
@@ -381,7 +480,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -405,7 +537,40 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: # Object with schema name: Value
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+          },
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -503,24 +668,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -559,24 +707,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -637,24 +768,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -741,7 +855,40 @@
             ],
           },
           &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-            &quot;a_key&quot;: # Object with schema name: Value
+            &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
+              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
+                &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+              &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
+              &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
+                &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                  &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+                },
+                &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                  { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                    &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                    &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                    &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  },
+                ],
+              },
+              &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
+            },
           },
         },
         &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -780,24 +927,7 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-              &quot;a_key&quot;: # Object with schema name: Value
-            },
-          },
+          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
diff --git a/docs/dyn/dialogflow_v2.projects.agent.environments.intents.html b/docs/dyn/dialogflow_v2.projects.agent.environments.intents.html
index 4199c08..40106f7 100644
--- a/docs/dyn/dialogflow_v2.projects.agent.environments.intents.html
+++ b/docs/dyn/dialogflow_v2.projects.agent.environments.intents.html
@@ -122,7 +122,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -338,7 +338,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
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 1d67396..4c607e7 100644
--- a/docs/dyn/dialogflow_v2.projects.agent.environments.users.sessions.html
+++ b/docs/dyn/dialogflow_v2.projects.agent.environments.users.sessions.html
@@ -442,7 +442,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -658,7 +658,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
diff --git a/docs/dyn/dialogflow_v2.projects.agent.intents.html b/docs/dyn/dialogflow_v2.projects.agent.intents.html
index 81628fb..67a11f5 100644
--- a/docs/dyn/dialogflow_v2.projects.agent.intents.html
+++ b/docs/dyn/dialogflow_v2.projects.agent.intents.html
@@ -123,7 +123,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -339,7 +339,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -411,7 +411,7 @@
         &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
           &quot;A String&quot;,
         ],
-        &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+        &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
           { # Represents a single followup intent in the chain.
             &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
             &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -627,7 +627,7 @@
         &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
         &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
         &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-        &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+        &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
         &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
           { # Represents an example that the agent is trained on.
             &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -706,7 +706,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -922,7 +922,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -964,7 +964,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -1180,7 +1180,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -1247,7 +1247,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -1463,7 +1463,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -1516,7 +1516,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -1732,7 +1732,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -1788,7 +1788,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -2004,7 +2004,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -2047,7 +2047,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -2263,7 +2263,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
diff --git a/docs/dyn/dialogflow_v2.projects.agent.sessions.html b/docs/dyn/dialogflow_v2.projects.agent.sessions.html
index 731c0ef..9294e88 100644
--- a/docs/dyn/dialogflow_v2.projects.agent.sessions.html
+++ b/docs/dyn/dialogflow_v2.projects.agent.sessions.html
@@ -442,7 +442,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -658,7 +658,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
diff --git a/docs/dyn/dialogflow_v2.projects.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.conversations.participants.html
index 70b6bdc..838fbc2 100644
--- a/docs/dyn/dialogflow_v2.projects.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2.projects.conversations.participants.html
@@ -406,7 +406,7 @@
           &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
             &quot;A String&quot;,
           ],
-          &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+          &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
             { # Represents a single followup intent in the chain.
               &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
               &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -622,7 +622,7 @@
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
           &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
           &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-          &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+          &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
           &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
             { # Represents an example that the agent is trained on.
               &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.environments.intents.html b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.intents.html
index 9a6c943..6742007 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.agent.environments.intents.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.agent.environments.intents.html
@@ -122,7 +122,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -338,7 +338,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
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 f06ed97..36dfb9e 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
@@ -442,7 +442,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -658,7 +658,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.intents.html b/docs/dyn/dialogflow_v2.projects.locations.agent.intents.html
index d901729..33cc9b8 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.agent.intents.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.agent.intents.html
@@ -123,7 +123,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -339,7 +339,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -411,7 +411,7 @@
         &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
           &quot;A String&quot;,
         ],
-        &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+        &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
           { # Represents a single followup intent in the chain.
             &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
             &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -627,7 +627,7 @@
         &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
         &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
         &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-        &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+        &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
         &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
           { # Represents an example that the agent is trained on.
             &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -706,7 +706,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -922,7 +922,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -964,7 +964,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -1180,7 +1180,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -1247,7 +1247,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -1463,7 +1463,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -1516,7 +1516,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -1732,7 +1732,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -1788,7 +1788,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -2004,7 +2004,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
@@ -2047,7 +2047,7 @@
   &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
     &quot;A String&quot;,
   ],
-  &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+  &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
     { # Represents a single followup intent in the chain.
       &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -2263,7 +2263,7 @@
   &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
   &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
   &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+  &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
   &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
     { # Represents an example that the agent is trained on.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
diff --git a/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html b/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html
index b06643c..7a359e1 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.agent.sessions.html
@@ -442,7 +442,7 @@
       &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
         &quot;A String&quot;,
       ],
-      &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+      &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
         { # Represents a single followup intent in the chain.
           &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -658,7 +658,7 @@
       &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
       &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
       &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+      &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
       &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
         { # Represents an example that the agent is trained on.
           &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html
index dd4a7df..4820d1d 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html
@@ -406,7 +406,7 @@
           &quot;events&quot;: [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
             &quot;A String&quot;,
           ],
-          &quot;followupIntentInfo&quot;: [ # Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
+          &quot;followupIntentInfo&quot;: [ # Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
             { # Represents a single followup intent in the chain.
               &quot;followupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
               &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # The unique identifier of the followup intent&#x27;s parent. Format: `projects//agent/intents/`.
@@ -622,7 +622,7 @@
           &quot;parentFollowupIntentName&quot;: &quot;A String&quot;, # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
           &quot;priority&quot;: 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
           &quot;resetContexts&quot;: True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
-          &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
+          &quot;rootFollowupIntentName&quot;: &quot;A String&quot;, # Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.
           &quot;trainingPhrases&quot;: [ # Optional. The collection of examples that the agent is trained on.
             { # Represents an example that the agent is trained on.
               &quot;name&quot;: &quot;A String&quot;, # Output only. The unique identifier of this training phrase.
diff --git a/docs/dyn/dialogflow_v2.projects.locations.html b/docs/dyn/dialogflow_v2.projects.locations.html
index 30cda48..281836a 100644
--- a/docs/dyn/dialogflow_v2.projects.locations.html
+++ b/docs/dyn/dialogflow_v2.projects.locations.html
@@ -111,9 +111,18 @@
   <code><a href="#deleteAgent">deleteAgent(parent, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes the specified agent.</p>
 <p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets information about a location.</p>
+<p class="toc_element">
   <code><a href="#getAgent">getAgent(parent, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves the specified agent.</p>
 <p class="toc_element">
+  <code><a href="#list">list(name, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists information about the supported locations for this service.</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="#setAgent">setAgent(parent, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).</p>
 <h3>Method Details</h3>
@@ -141,6 +150,33 @@
 </div>
 
 <div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets information about a location.
+
+Args:
+  name: string, Resource name for the location. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource that represents Google Cloud Platform location.
+  &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+  &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+  &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="getAgent">getAgent(parent, x__xgafv=None)</code>
   <pre>Retrieves the specified agent.
 
@@ -173,6 +209,55 @@
 </div>
 
 <div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists information about the supported locations for this service.
+
+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 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
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Locations.ListLocations.
+  &quot;locations&quot;: [ # A list of locations that matches the specified filter in the request.
+    { # A resource that represents Google Cloud Platform location.
+      &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+      &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+      &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The standard List next-page token.
+}</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="setAgent">setAgent(parent, body=None, updateMask=None, x__xgafv=None)</code>
   <pre>Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).
 
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.html b/docs/dyn/dialogflow_v2beta1.projects.locations.html
index 09558b1..3155ba4 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.html
@@ -111,9 +111,18 @@
   <code><a href="#deleteAgent">deleteAgent(parent, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes the specified agent.</p>
 <p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets information about a location.</p>
+<p class="toc_element">
   <code><a href="#getAgent">getAgent(parent, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves the specified agent.</p>
 <p class="toc_element">
+  <code><a href="#list">list(name, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists information about the supported locations for this service.</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="#setAgent">setAgent(parent, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).</p>
 <h3>Method Details</h3>
@@ -141,6 +150,33 @@
 </div>
 
 <div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets information about a location.
+
+Args:
+  name: string, Resource name for the location. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource that represents Google Cloud Platform location.
+  &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+  &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+  &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="getAgent">getAgent(parent, x__xgafv=None)</code>
   <pre>Retrieves the specified agent.
 
@@ -173,6 +209,55 @@
 </div>
 
 <div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists information about the supported locations for this service.
+
+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 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
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Locations.ListLocations.
+  &quot;locations&quot;: [ # A list of locations that matches the specified filter in the request.
+    { # A resource that represents Google Cloud Platform location.
+      &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+      &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+      &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The standard List next-page token.
+}</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="setAgent">setAgent(parent, body=None, updateMask=None, x__xgafv=None)</code>
   <pre>Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).
 
diff --git a/docs/dyn/dialogflow_v3.projects.locations.html b/docs/dyn/dialogflow_v3.projects.locations.html
index 7e97226..386cc71 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.html
@@ -92,10 +92,95 @@
 <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 information about a location.</p>
+<p class="toc_element">
+  <code><a href="#list">list(name, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists information about the supported locations for this service.</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 information about a location.
+
+Args:
+  name: string, Resource name for the location. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource that represents Google Cloud Platform location.
+  &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+  &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+  &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists information about the supported locations for this service.
+
+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 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
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Locations.ListLocations.
+  &quot;locations&quot;: [ # A list of locations that matches the specified filter in the request.
+    { # A resource that represents Google Cloud Platform location.
+      &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+      &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+      &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The standard List next-page token.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/dialogflow_v3.projects.locations.securitySettings.html b/docs/dyn/dialogflow_v3.projects.locations.securitySettings.html
index 023e0a3..21c8687 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.securitySettings.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.securitySettings.html
@@ -111,11 +111,12 @@
     The object takes the form of:
 
 { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
@@ -134,11 +135,12 @@
   An object of the form:
 
     { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
@@ -182,11 +184,12 @@
   An object of the form:
 
     { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
@@ -217,11 +220,12 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results in the list.
   &quot;securitySettings&quot;: [ # The list of security settings.
     { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+      &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
       &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-      &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+      &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
         &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
       },
-      &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+      &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
       &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
       &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
         &quot;A String&quot;,
@@ -258,11 +262,12 @@
     The object takes the form of:
 
 { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
@@ -282,11 +287,12 @@
   An object of the form:
 
     { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.html b/docs/dyn/dialogflow_v3beta1.projects.locations.html
index b14d076..8e41560 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.html
@@ -92,10 +92,95 @@
 <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 information about a location.</p>
+<p class="toc_element">
+  <code><a href="#list">list(name, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists information about the supported locations for this service.</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 information about a location.
+
+Args:
+  name: string, Resource name for the location. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource that represents Google Cloud Platform location.
+  &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+  &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+  &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists information about the supported locations for this service.
+
+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 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
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Locations.ListLocations.
+  &quot;locations&quot;: [ # A list of locations that matches the specified filter in the request.
+    { # A resource that represents Google Cloud Platform location.
+      &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+      &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+      &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The standard List next-page token.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.securitySettings.html b/docs/dyn/dialogflow_v3beta1.projects.locations.securitySettings.html
index c23bd5b..be27c70 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.securitySettings.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.securitySettings.html
@@ -111,11 +111,12 @@
     The object takes the form of:
 
 { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
@@ -134,11 +135,12 @@
   An object of the form:
 
     { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
@@ -182,11 +184,12 @@
   An object of the form:
 
     { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
@@ -217,11 +220,12 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results in the list.
   &quot;securitySettings&quot;: [ # The list of security settings.
     { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+      &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
       &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-      &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+      &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
         &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
       },
-      &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+      &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
       &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
       &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
         &quot;A String&quot;,
@@ -258,11 +262,12 @@
     The object takes the form of:
 
 { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
@@ -282,11 +287,12 @@
   An object of the form:
 
     { # Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.
+  &quot;deidentifyTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the security settings, unique within the location.
-  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
+  &quot;insightsExportSettings&quot;: { # Settings for exporting conversations to [Insights](https://cloud.google.com/dialogflow/priv/docs/insights). # Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here.
     &quot;enableInsightsExport&quot;: True or False, # If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.
   },
-  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`
+  &quot;inspectTemplate&quot;: &quot;A String&quot;, # [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.
   &quot;name&quot;: &quot;A String&quot;, # Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.
   &quot;purgeDataTypes&quot;: [ # List of types of data to remove when retention settings triggers purge.
     &quot;A String&quot;,
diff --git a/docs/dyn/displayvideo_v1.advertisers.campaigns.html b/docs/dyn/displayvideo_v1.advertisers.campaigns.html
index 50adcd9..521ee5e 100644
--- a/docs/dyn/displayvideo_v1.advertisers.campaigns.html
+++ b/docs/dyn/displayvideo_v1.advertisers.campaigns.html
@@ -202,12 +202,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -314,14 +308,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.advertisers.campaigns.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.advertisers.campaigns.targetingTypes.assignedTargetingOptions.html
index 78e7e9c..4db33ea 100644
--- a/docs/dyn/displayvideo_v1.advertisers.campaigns.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.advertisers.campaigns.targetingTypes.assignedTargetingOptions.html
@@ -139,8 +139,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested. (required)
@@ -226,12 +224,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -338,14 +330,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -485,8 +469,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` - `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2 `assignedTargetingOptionId=&quot;1&quot; OR assignedTargetingOptionId=&quot;2&quot;` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=&quot;NOT_INHERITED&quot; OR inheritance=&quot;INHERITED_FROM_PARTNER&quot;` The length of this field should be no more than 500 characters.
@@ -577,12 +559,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -689,14 +665,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.advertisers.html b/docs/dyn/displayvideo_v1.advertisers.html
index 7008b73..3b96e6a 100644
--- a/docs/dyn/displayvideo_v1.advertisers.html
+++ b/docs/dyn/displayvideo_v1.advertisers.html
@@ -277,12 +277,6 @@
             &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
             &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
           },
-          &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-            &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-            &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-            &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-          },
           &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
             &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
             &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -389,14 +383,6 @@
             &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
             &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
           },
-          &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-            &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-            &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-            &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-            &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-            &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-          },
           &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
             &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
             &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -585,12 +571,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -697,14 +677,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -893,12 +865,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -1005,14 +971,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.advertisers.insertionOrders.html b/docs/dyn/displayvideo_v1.advertisers.insertionOrders.html
index ffdefa5..a0fafa6 100644
--- a/docs/dyn/displayvideo_v1.advertisers.insertionOrders.html
+++ b/docs/dyn/displayvideo_v1.advertisers.insertionOrders.html
@@ -202,12 +202,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -314,14 +308,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.html
index 36cd591..13087cb 100644
--- a/docs/dyn/displayvideo_v1.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.html
@@ -139,8 +139,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested. (required)
@@ -226,12 +224,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -338,14 +330,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -485,8 +469,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` - `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2 `assignedTargetingOptionId=&quot;1&quot; OR assignedTargetingOptionId=&quot;2&quot;` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=&quot;NOT_INHERITED&quot; OR inheritance=&quot;INHERITED_FROM_PARTNER&quot;` The length of this field should be no more than 500 characters.
@@ -577,12 +559,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -689,14 +665,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.advertisers.lineItems.html b/docs/dyn/displayvideo_v1.advertisers.lineItems.html
index 06b3e04..2cb9f63 100644
--- a/docs/dyn/displayvideo_v1.advertisers.lineItems.html
+++ b/docs/dyn/displayvideo_v1.advertisers.lineItems.html
@@ -201,12 +201,6 @@
             &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
             &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
           },
-          &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-            &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-            &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-            &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-          },
           &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
             &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
             &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -313,14 +307,6 @@
             &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
             &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
           },
-          &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-            &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-            &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-            &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-            &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-            &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-          },
           &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
             &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
             &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -509,12 +495,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -621,14 +601,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -818,12 +790,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -930,14 +896,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.advertisers.lineItems.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.advertisers.lineItems.targetingTypes.assignedTargetingOptions.html
index 4ca9a6a..d4d2a90 100644
--- a/docs/dyn/displayvideo_v1.advertisers.lineItems.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.advertisers.lineItems.targetingTypes.assignedTargetingOptions.html
@@ -145,8 +145,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   body: object, The request body.
@@ -226,12 +224,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -338,14 +330,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -519,12 +503,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -631,14 +609,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -778,8 +748,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   assignedTargetingOptionId: string, Required. The ID of the assigned targeting option to delete. (required)
@@ -842,8 +810,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested. (required)
@@ -929,12 +895,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -1041,14 +1001,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -1188,8 +1140,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` - `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2 `assignedTargetingOptionId=&quot;1&quot; OR assignedTargetingOptionId=&quot;2&quot;` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=&quot;NOT_INHERITED&quot; OR inheritance=&quot;INHERITED_FROM_PARTNER&quot;` The length of this field should be no more than 500 characters.
@@ -1280,12 +1230,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -1392,14 +1336,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.advertisers.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.advertisers.targetingTypes.assignedTargetingOptions.html
index dfdc90c..a9fb930 100644
--- a/docs/dyn/displayvideo_v1.advertisers.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.advertisers.targetingTypes.assignedTargetingOptions.html
@@ -144,8 +144,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   body: object, The request body.
@@ -225,12 +223,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -337,14 +329,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -518,12 +502,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -630,14 +608,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -776,8 +746,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   assignedTargetingOptionId: string, Required. The ID of the assigned targeting option to delete. (required)
@@ -839,8 +807,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this advertiser that identifies the assigned targeting option being requested. (required)
@@ -926,12 +892,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -1038,14 +998,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -1184,8 +1136,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: * AssignedTargetingOption with ID 123456 `assignedTargetingOptionId=&quot;123456&quot;` The length of this field should be no more than 500 characters.
@@ -1276,12 +1226,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -1388,14 +1332,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.partners.html b/docs/dyn/displayvideo_v1.partners.html
index ef31037..56d6799 100644
--- a/docs/dyn/displayvideo_v1.partners.html
+++ b/docs/dyn/displayvideo_v1.partners.html
@@ -187,12 +187,6 @@
             &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
             &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
           },
-          &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-            &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-            &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-            &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-          },
           &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
             &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
             &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -299,14 +293,6 @@
             &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
             &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
           },
-          &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-            &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-            &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-            &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-            &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-            &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-          },
           &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
             &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
             &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -495,12 +481,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -607,14 +587,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.partners.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v1.partners.targetingTypes.assignedTargetingOptions.html
index 3bf9819..f492c47 100644
--- a/docs/dyn/displayvideo_v1.partners.targetingTypes.assignedTargetingOptions.html
+++ b/docs/dyn/displayvideo_v1.partners.targetingTypes.assignedTargetingOptions.html
@@ -144,8 +144,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   body: object, The request body.
@@ -225,12 +223,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -337,14 +329,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -518,12 +502,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -630,14 +608,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -776,8 +746,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   assignedTargetingOptionId: string, Required. The ID of the assigned targeting option to delete. (required)
@@ -839,8 +807,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   assignedTargetingOptionId: string, Required. An identifier unique to the targeting type in this partner that identifies the assigned targeting option being requested. (required)
@@ -926,12 +892,6 @@
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
   },
-  &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-  },
   &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -1038,14 +998,6 @@
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
     &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
   },
-  &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-    &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-    &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-    &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-  },
   &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
     &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
     &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
@@ -1184,8 +1136,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: * AssignedTargetingOption with ID 123456 `assignedTargetingOptionId=&quot;123456&quot;` The length of this field should be no more than 500 characters.
@@ -1276,12 +1226,6 @@
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
       },
-      &quot;businessChainDetails&quot;: { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
-      },
       &quot;carrierAndIspDetails&quot;: { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;negative&quot;: True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
@@ -1388,14 +1332,6 @@
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of the audience.
         &quot;targetingOptionId&quot;: &quot;A String&quot;, # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
       },
-      &quot;poiDetails&quot;: { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-        &quot;proximityRadiusAmount&quot;: 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
-        &quot;proximityRadiusUnit&quot;: &quot;A String&quot;, # Required. The unit of distance by which the targeting radius is measured.
-        &quot;targetingOptionId&quot;: &quot;A String&quot;, # Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.
-      },
       &quot;proximityLocationListDetails&quot;: { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
         &quot;proximityLocationListId&quot;: &quot;A String&quot;, # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
         &quot;proximityRadiusRange&quot;: &quot;A String&quot;, # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
diff --git a/docs/dyn/displayvideo_v1.targetingTypes.targetingOptions.html b/docs/dyn/displayvideo_v1.targetingTypes.targetingOptions.html
index b56241b..a23c39a 100644
--- a/docs/dyn/displayvideo_v1.targetingTypes.targetingOptions.html
+++ b/docs/dyn/displayvideo_v1.targetingTypes.targetingOptions.html
@@ -143,8 +143,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   targetingOptionId: string, Required. The ID of the of targeting option to retrieve. (required)
@@ -170,11 +168,6 @@
   &quot;browserDetails&quot;: { # Represents a targetable browser. This will be populated in the browser_details field when targeting_type is `TARGETING_TYPE_BROWSER`. # Browser details.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the browser.
   },
-  &quot;businessChainDetails&quot;: { # Represents a targetable business chain within a geo region. This will be populated in the business_chain_details field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain resource details.
-    &quot;businessChain&quot;: &quot;A String&quot;, # Output only. The display name of the business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-    &quot;geoRegion&quot;: &quot;A String&quot;, # Output only. The display name of the geographic region, e.g. &quot;Ontario, Canada&quot;.
-    &quot;geoRegionType&quot;: &quot;A String&quot;, # Output only. The type of the geographic region.
-  },
   &quot;carrierAndIspDetails&quot;: { # Represents a targetable carrier or ISP. This will be populated in the carrier_and_isp_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details.
     &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
     &quot;type&quot;: &quot;A String&quot;, # Output only. The type indicating if it&#x27;s carrier or ISP.
@@ -232,11 +225,6 @@
   &quot;parentalStatusDetails&quot;: { # Represents a targetable parental status. This will be populated in the parental_status_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`. # Parental status details.
     &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of an audience.
   },
-  &quot;poiDetails&quot;: { # Represents a targetable point of interest(POI). This will be populated in the poi_details field when targeting_type is `TARGETING_TYPE_POI`. # POI resource details.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-    &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-    &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-  },
   &quot;sensitiveCategoryDetails&quot;: { # Represents a targetable sensitive category. This will be populated in the sensitive_category_details field of the TargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. # Sensitive Category details.
     &quot;sensitiveCategory&quot;: &quot;A String&quot;, # Output only. An enum for the DV360 Sensitive category content classifier.
   },
@@ -302,8 +290,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   advertiserId: string, Required. The Advertiser this request is being made in the context of.
@@ -335,11 +321,6 @@
       &quot;browserDetails&quot;: { # Represents a targetable browser. This will be populated in the browser_details field when targeting_type is `TARGETING_TYPE_BROWSER`. # Browser details.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the browser.
       },
-      &quot;businessChainDetails&quot;: { # Represents a targetable business chain within a geo region. This will be populated in the business_chain_details field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain resource details.
-        &quot;businessChain&quot;: &quot;A String&quot;, # Output only. The display name of the business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;geoRegion&quot;: &quot;A String&quot;, # Output only. The display name of the geographic region, e.g. &quot;Ontario, Canada&quot;.
-        &quot;geoRegionType&quot;: &quot;A String&quot;, # Output only. The type of the geographic region.
-      },
       &quot;carrierAndIspDetails&quot;: { # Represents a targetable carrier or ISP. This will be populated in the carrier_and_isp_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;type&quot;: &quot;A String&quot;, # Output only. The type indicating if it&#x27;s carrier or ISP.
@@ -397,11 +378,6 @@
       &quot;parentalStatusDetails&quot;: { # Represents a targetable parental status. This will be populated in the parental_status_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`. # Parental status details.
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of an audience.
       },
-      &quot;poiDetails&quot;: { # Represents a targetable point of interest(POI). This will be populated in the poi_details field when targeting_type is `TARGETING_TYPE_POI`. # POI resource details.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-      },
       &quot;sensitiveCategoryDetails&quot;: { # Represents a targetable sensitive category. This will be populated in the sensitive_category_details field of the TargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. # Sensitive Category details.
         &quot;sensitiveCategory&quot;: &quot;A String&quot;, # Output only. An enum for the DV360 Sensitive category content classifier.
       },
@@ -443,7 +419,7 @@
   <pre>Searches for targeting options of a given type based on the given search terms.
 
 Args:
-  targetingType: string, Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN` (required)
+  targetingType: string, Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION` (required)
     Allowed values
       TARGETING_TYPE_UNSPECIFIED - Default value when type is not specified or is unknown in this version.
       TARGETING_TYPE_CHANNEL - Target a channel (a custom group of related websites or apps).
@@ -483,8 +459,6 @@
       TARGETING_TYPE_INVENTORY_SOURCE_GROUP - Purchase impressions from a group of deals and auction packages.
       TARGETING_TYPE_EXCHANGE - Purchase impressions from specific exchanges.
       TARGETING_TYPE_SUB_EXCHANGE - Purchase impressions from specific sub-exchanges.
-      TARGETING_TYPE_POI - Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.
-      TARGETING_TYPE_BUSINESS_CHAIN - Target ads around locations of a business chain within a specific geo region.
       TARGETING_TYPE_NATIVE_CONTENT_POSITION - Target ads to a specific native content position.
       TARGETING_TYPE_OMID - Target ads in an Open Measurement enabled inventory.
   body: object, The request body.
@@ -492,18 +466,11 @@
 
 { # Request message for SearchTargetingOptions.
   &quot;advertiserId&quot;: &quot;A String&quot;, # Required. The Advertiser this request is being made in the context of.
-  &quot;businessChainSearchTerms&quot;: { # Search terms for Business Chain targeting options. At least one of the field should be populated. # Search terms for Business Chain targeting options. Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
-    &quot;businessChain&quot;: &quot;A String&quot;, # The search query for the desired business chain. The query can be a prefix, e.g. &quot;KFC&quot;, &quot;mercede&quot;.
-    &quot;region&quot;: &quot;A String&quot;, # The search query for the desired geo region, e.g. &quot;Seattle&quot;, &quot;United State&quot;.
-  },
   &quot;geoRegionSearchTerms&quot;: { # Search terms for geo region targeting options. # Search terms for geo region targeting options. Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`.
     &quot;geoRegionQuery&quot;: &quot;A String&quot;, # The search query for the desired geo region. The query can be a prefix, e.g. &quot;New Yor&quot;, &quot;Seattle&quot;, &quot;USA&quot;, etc.
   },
   &quot;pageSize&quot;: 42, # Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.
   &quot;pageToken&quot;: &quot;A String&quot;, # A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `SearchTargetingOptions` method. If not specified, the first page of results will be returned.
-  &quot;poiSearchTerms&quot;: { # Search terms for POI targeting options. # Search terms for POI targeting options. Can only be used when targeting_type is `TARGETING_TYPE_POI`.
-    &quot;poiQuery&quot;: &quot;A String&quot;, # The search query for the desired POI name, street address, or coordinate of the desired POI. The query can be a prefix, e.g. &quot;Times squar&quot;, &quot;40.7505045,-73.99562&quot;, &quot;315 W 44th St&quot;, etc.
-  },
 }
 
   x__xgafv: string, V1 error format.
@@ -514,7 +481,7 @@
 Returns:
   An object of the form:
 
-    { # Response message for SearchTargetingOptionsResponse.
+    { # Response message for SearchTargetingOptions.
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `SearchTargetingOptions` method to retrieve the next page of results.
   &quot;targetingOptions&quot;: [ # The list of targeting options that match the search criteria. This list will be absent if empty.
     { # Represents a single targeting option, which is a targetable concept in DV360.
@@ -530,11 +497,6 @@
       &quot;browserDetails&quot;: { # Represents a targetable browser. This will be populated in the browser_details field when targeting_type is `TARGETING_TYPE_BROWSER`. # Browser details.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the browser.
       },
-      &quot;businessChainDetails&quot;: { # Represents a targetable business chain within a geo region. This will be populated in the business_chain_details field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain resource details.
-        &quot;businessChain&quot;: &quot;A String&quot;, # Output only. The display name of the business chain, e.g. &quot;KFC&quot;, &quot;Chase Bank&quot;.
-        &quot;geoRegion&quot;: &quot;A String&quot;, # Output only. The display name of the geographic region, e.g. &quot;Ontario, Canada&quot;.
-        &quot;geoRegionType&quot;: &quot;A String&quot;, # Output only. The type of the geographic region.
-      },
       &quot;carrierAndIspDetails&quot;: { # Represents a targetable carrier or ISP. This will be populated in the carrier_and_isp_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details.
         &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the carrier or ISP.
         &quot;type&quot;: &quot;A String&quot;, # Output only. The type indicating if it&#x27;s carrier or ISP.
@@ -592,11 +554,6 @@
       &quot;parentalStatusDetails&quot;: { # Represents a targetable parental status. This will be populated in the parental_status_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`. # Parental status details.
         &quot;parentalStatus&quot;: &quot;A String&quot;, # Output only. The parental status of an audience.
       },
-      &quot;poiDetails&quot;: { # Represents a targetable point of interest(POI). This will be populated in the poi_details field when targeting_type is `TARGETING_TYPE_POI`. # POI resource details.
-        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of a POI, e.g. &quot;Times Square&quot;, &quot;Space Needle&quot;.
-        &quot;latitude&quot;: 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
-        &quot;longitude&quot;: 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
-      },
       &quot;sensitiveCategoryDetails&quot;: { # Represents a targetable sensitive category. This will be populated in the sensitive_category_details field of the TargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. # Sensitive Category details.
         &quot;sensitiveCategory&quot;: &quot;A String&quot;, # Output only. An enum for the DV360 Sensitive category content classifier.
       },
diff --git a/docs/dyn/eventarc_v1beta1.projects.locations.triggers.html b/docs/dyn/eventarc_v1beta1.projects.locations.triggers.html
index e666133..d314f6f 100644
--- a/docs/dyn/eventarc_v1beta1.projects.locations.triggers.html
+++ b/docs/dyn/eventarc_v1beta1.projects.locations.triggers.html
@@ -278,7 +278,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -462,7 +462,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
       { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
         &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -504,7 +504,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
diff --git a/docs/dyn/firebaserules_v1.projects.releases.html b/docs/dyn/firebaserules_v1.projects.releases.html
index 72e785a..50a3ac1 100644
--- a/docs/dyn/firebaserules_v1.projects.releases.html
+++ b/docs/dyn/firebaserules_v1.projects.releases.html
@@ -79,7 +79,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#create">create(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Create a `Release`. Release names should reflect the developer's deployment practices. For example, the release name may include the environment name, application name, application version, or any other name meaningful to the developer. Once a `Release` refers to a `Ruleset`, the rules can be enforced by Firebase Rules-enabled services. More than one `Release` may be 'live' concurrently. Consider the following three `Release` names for `projects/foo` and the `Ruleset` to which they refer. Release Name -> Ruleset Name * projects/foo/releases/prod -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/beta -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/v23 -> projects/foo/rulesets/uuid456 The relationships reflect a `Ruleset` rollout in progress. The `prod` and `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be updated using the UpdateRelease method.</p>
+<p class="firstline">Create a `Release`. Release names should reflect the developer's deployment practices. For example, the release name may include the environment name, application name, application version, or any other name meaningful to the developer. Once a `Release` refers to a `Ruleset`, the rules can be enforced by Firebase Rules-enabled services. More than one `Release` may be 'live' concurrently. Consider the following three `Release` names for `projects/foo` and the `Ruleset` to which they refer. Release Name | Ruleset Name --------------------------------|------------- projects/foo/releases/prod | projects/foo/rulesets/uuid123 projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123 projects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456 The table reflects the `Ruleset` rollout in progress. The `prod` and `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be updated using the UpdateRelease method.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Delete a `Release` by resource name.</p>
@@ -106,7 +106,7 @@
 
 <div class="method">
     <code class="details" id="create">create(name, body=None, x__xgafv=None)</code>
-  <pre>Create a `Release`. Release names should reflect the developer&#x27;s deployment practices. For example, the release name may include the environment name, application name, application version, or any other name meaningful to the developer. Once a `Release` refers to a `Ruleset`, the rules can be enforced by Firebase Rules-enabled services. More than one `Release` may be &#x27;live&#x27; concurrently. Consider the following three `Release` names for `projects/foo` and the `Ruleset` to which they refer. Release Name -&gt; Ruleset Name * projects/foo/releases/prod -&gt; projects/foo/rulesets/uuid123 * projects/foo/releases/prod/beta -&gt; projects/foo/rulesets/uuid123 * projects/foo/releases/prod/v23 -&gt; projects/foo/rulesets/uuid456 The relationships reflect a `Ruleset` rollout in progress. The `prod` and `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be updated using the UpdateRelease method.
+  <pre>Create a `Release`. Release names should reflect the developer&#x27;s deployment practices. For example, the release name may include the environment name, application name, application version, or any other name meaningful to the developer. Once a `Release` refers to a `Ruleset`, the rules can be enforced by Firebase Rules-enabled services. More than one `Release` may be &#x27;live&#x27; concurrently. Consider the following three `Release` names for `projects/foo` and the `Ruleset` to which they refer. Release Name | Ruleset Name --------------------------------|------------- projects/foo/releases/prod | projects/foo/rulesets/uuid123 projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123 projects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456 The table reflects the `Ruleset` rollout in progress. The `prod` and `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be updated using the UpdateRelease method.
 
 Args:
   name: string, Required. Resource name for the project which owns this `Release`. Format: `projects/{project_id}` (required)
diff --git a/docs/dyn/firestore_v1.projects.databases.documents.html b/docs/dyn/firestore_v1.projects.databases.documents.html
index 02464f5..5887319 100644
--- a/docs/dyn/firestore_v1.projects.databases.documents.html
+++ b/docs/dyn/firestore_v1.projects.databases.documents.html
@@ -175,11 +175,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
     &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -234,16 +230,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -263,11 +274,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -287,11 +294,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -312,7 +315,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -323,11 +345,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -359,16 +377,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -388,11 +421,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -412,11 +441,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -437,7 +462,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -471,11 +515,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -563,16 +603,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -592,11 +647,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -616,11 +667,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -641,7 +688,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -652,11 +718,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -688,16 +750,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -717,11 +794,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -741,11 +814,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -766,7 +835,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -790,11 +878,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -834,11 +918,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -876,11 +956,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -946,11 +1022,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1003,11 +1075,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
       &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1117,11 +1185,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
             { # A message that can hold any of the supported value types.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1169,11 +1233,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
             { # A message that can hold any of the supported value types.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1207,11 +1267,7 @@
             },
             &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
             &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1264,11 +1320,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
       &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1354,11 +1406,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1406,11 +1454,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1444,11 +1488,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1493,11 +1533,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1549,11 +1585,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1593,11 +1625,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1671,11 +1699,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1723,11 +1747,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1761,11 +1781,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1809,11 +1825,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
     &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1870,16 +1882,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1899,11 +1926,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1923,11 +1946,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1948,7 +1967,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -1959,11 +1997,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1995,16 +2029,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2024,11 +2073,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2048,11 +2093,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2073,7 +2114,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -2099,11 +2159,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
diff --git a/docs/dyn/firestore_v1beta1.projects.databases.documents.html b/docs/dyn/firestore_v1beta1.projects.databases.documents.html
index 352fb52..712832b 100644
--- a/docs/dyn/firestore_v1beta1.projects.databases.documents.html
+++ b/docs/dyn/firestore_v1beta1.projects.databases.documents.html
@@ -175,11 +175,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
     &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -234,16 +230,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -263,11 +274,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -287,11 +294,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -312,7 +315,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -323,11 +345,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -359,16 +377,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -388,11 +421,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -412,11 +441,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -437,7 +462,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -471,11 +515,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -563,16 +603,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -592,11 +647,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -616,11 +667,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -641,7 +688,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -652,11 +718,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -688,16 +750,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -717,11 +794,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -741,11 +814,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -766,7 +835,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -790,11 +878,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -834,11 +918,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -876,11 +956,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -946,11 +1022,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1003,11 +1075,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
       &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1117,11 +1185,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
             { # A message that can hold any of the supported value types.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1169,11 +1233,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
             { # A message that can hold any of the supported value types.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1207,11 +1267,7 @@
             },
             &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
             &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1264,11 +1320,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
       &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1354,11 +1406,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1406,11 +1454,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1444,11 +1488,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1493,11 +1533,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1549,11 +1585,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1593,11 +1625,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1671,11 +1699,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1723,11 +1747,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1761,11 +1781,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1809,11 +1825,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
     &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1870,16 +1882,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1899,11 +1926,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1923,11 +1946,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1948,7 +1967,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -1959,11 +1997,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1995,16 +2029,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2024,11 +2073,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2048,11 +2093,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2073,7 +2114,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -2099,11 +2159,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
diff --git a/docs/dyn/healthcare_v1.projects.locations.datasets.fhirStores.fhir.html b/docs/dyn/healthcare_v1.projects.locations.datasets.fhirStores.fhir.html
index fe6d7b9..b0f8a48 100644
--- a/docs/dyn/healthcare_v1.projects.locations.datasets.fhirStores.fhir.html
+++ b/docs/dyn/healthcare_v1.projects.locations.datasets.fhirStores.fhir.html
@@ -106,10 +106,10 @@
 <p class="firstline">Gets the contents of a FHIR resource. Implements the FHIR standard read interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#read), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#read)). Also supports the FHIR standard conditional read interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#cread), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#cread)) specified by supplying an `If-Modified-Since` header with a date/time value or an `If-None-Match` header with an ETag value. On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `read`, see [Getting a FHIR resource](/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).</p>
 <p class="toc_element">
   <code><a href="#search">search(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` will contain pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).</p>
+<p class="firstline">Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` "next", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).</p>
 <p class="toc_element">
   <code><a href="#search_type">search_type(parent, resourceType, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` will contain pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).</p>
+<p class="firstline">Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` "next", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).</p>
 <p class="toc_element">
   <code><a href="#update">update(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates the entire contents of a resource. Implements the FHIR standard update interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#update), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#update)). If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The resource must contain an `id` element having an identical value to the ID in the REST path of the request. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `update`, see [Updating a FHIR resource](/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).</p>
@@ -392,7 +392,7 @@
 
 <div class="method">
     <code class="details" id="search">search(parent, body=None, x__xgafv=None)</code>
-  <pre>Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server&#x27;s capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource&#x27;s definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` will contain pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
+  <pre>Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server&#x27;s capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource&#x27;s definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` &quot;next&quot;, which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
 
 Args:
   parent: string, Name of the FHIR store to retrieve resources from. (required)
@@ -424,7 +424,7 @@
 
 <div class="method">
     <code class="details" id="search_type">search_type(parent, resourceType, body=None, x__xgafv=None)</code>
-  <pre>Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server&#x27;s capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource&#x27;s definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` will contain pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
+  <pre>Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server&#x27;s capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource&#x27;s definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` &quot;next&quot;, which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
 
 Args:
   parent: string, Name of the FHIR store to retrieve resources from. (required)
diff --git a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.fhir.html b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.fhir.html
index db91058..a3ae861 100644
--- a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.fhir.html
+++ b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.fhir.html
@@ -127,10 +127,10 @@
 <p class="firstline">Gets the contents of a FHIR resource. Implements the FHIR standard read interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#read), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#read), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#read)). Also supports the FHIR standard conditional read interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#cread), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#cread), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#cread)) specified by supplying an `If-Modified-Since` header with a date/time value or an `If-None-Match` header with an ETag value. On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `read`, see [Getting a FHIR resource](/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).</p>
 <p class="toc_element">
   <code><a href="#search">search(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).</p>
+<p class="firstline">Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` "next", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).</p>
 <p class="toc_element">
   <code><a href="#search_type">search_type(parent, resourceType, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).</p>
+<p class="firstline">Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` "next", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).</p>
 <p class="toc_element">
   <code><a href="#update">update(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates the entire contents of a resource. Implements the FHIR standard update interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#update), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#update), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#update)). If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The resource must contain an `id` element having an identical value to the ID in the REST path of the request. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `update`, see [Updating a FHIR resource](/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).</p>
@@ -634,7 +634,7 @@
 
 <div class="method">
     <code class="details" id="search">search(parent, body=None, x__xgafv=None)</code>
-  <pre>Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server&#x27;s capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource&#x27;s definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
+  <pre>Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server&#x27;s capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource&#x27;s definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` &quot;next&quot;, which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
 
 Args:
   parent: string, Name of the FHIR store to retrieve resources from. (required)
@@ -666,7 +666,7 @@
 
 <div class="method">
     <code class="details" id="search_type">search_type(parent, resourceType, body=None, x__xgafv=None)</code>
-  <pre>Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server&#x27;s capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource&#x27;s definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
+  <pre>Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server&#x27;s capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource&#x27;s definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` &quot;next&quot;, which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
 
 Args:
   parent: string, Name of the FHIR store to retrieve resources from. (required)
diff --git a/docs/dyn/monitoring_v1.locations.global_.metricsScopes.html b/docs/dyn/monitoring_v1.locations.global_.metricsScopes.html
index cb835b4..7988aa0 100644
--- a/docs/dyn/monitoring_v1.locations.global_.metricsScopes.html
+++ b/docs/dyn/monitoring_v1.locations.global_.metricsScopes.html
@@ -84,7 +84,7 @@
 <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">Returns a specific Metrics Scope.</p>
+<p class="firstline">Returns a specific Metrics Scope, including the list of projects monitored by the specified Metrics Scope.</p>
 <p class="toc_element">
   <code><a href="#listMetricsScopesByMonitoredProject">listMetricsScopesByMonitoredProject(monitoredResourceContainer=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns a list of every Metrics Scope that a specific MonitoredProject has been added to. The metrics scope representing the specified monitored project will always be the first entry in the response.</p>
@@ -96,7 +96,7 @@
 
 <div class="method">
     <code class="details" id="get">get(name, x__xgafv=None)</code>
-  <pre>Returns a specific Metrics Scope.
+  <pre>Returns a specific Metrics Scope, including the list of projects monitored by the specified Metrics Scope.
 
 Args:
   name: string, Required. The resource name of the Metrics Scope. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER} (required)
diff --git a/docs/dyn/monitoring_v1.projects.dashboards.html b/docs/dyn/monitoring_v1.projects.dashboards.html
index 14a716b..f86699d 100644
--- a/docs/dyn/monitoring_v1.projects.dashboards.html
+++ b/docs/dyn/monitoring_v1.projects.dashboards.html
@@ -136,6 +136,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -227,6 +228,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -307,6 +309,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -315,6 +318,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -350,6 +357,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -441,6 +449,7 @@
               &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
               &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
               &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
               &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                 &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                   &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -521,6 +530,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -529,6 +539,10 @@
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
           },
+          &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+            &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+            &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+          },
           &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -562,6 +576,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -653,6 +668,7 @@
                 &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                 &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                 &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                 &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                   &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                     &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -733,6 +749,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -741,6 +758,10 @@
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
             },
+            &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+              &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+              &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+            },
             &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -779,6 +800,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -870,6 +892,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -950,6 +973,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -958,6 +982,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -1005,6 +1033,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -1096,6 +1125,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -1176,6 +1206,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -1184,6 +1215,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -1219,6 +1254,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -1310,6 +1346,7 @@
               &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
               &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
               &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
               &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                 &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                   &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -1390,6 +1427,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -1398,6 +1436,10 @@
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
           },
+          &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+            &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+            &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+          },
           &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -1431,6 +1473,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -1522,6 +1565,7 @@
                 &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                 &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                 &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                 &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                   &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                     &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -1602,6 +1646,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -1610,6 +1655,10 @@
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
             },
+            &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+              &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+              &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+            },
             &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -1648,6 +1697,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -1739,6 +1789,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -1819,6 +1870,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -1827,6 +1879,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -1898,6 +1954,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -1989,6 +2046,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -2069,6 +2127,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -2077,6 +2136,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -2112,6 +2175,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -2203,6 +2267,7 @@
               &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
               &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
               &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
               &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                 &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                   &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -2283,6 +2348,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -2291,6 +2357,10 @@
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
           },
+          &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+            &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+            &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+          },
           &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -2324,6 +2394,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -2415,6 +2486,7 @@
                 &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                 &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                 &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                 &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                   &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                     &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -2495,6 +2567,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -2503,6 +2576,10 @@
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
             },
+            &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+              &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+              &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+            },
             &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -2541,6 +2618,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -2632,6 +2710,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -2712,6 +2791,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -2720,6 +2800,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -2777,6 +2861,7 @@
                       &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                       &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                       &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                      &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                       &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                     },
                   ],
@@ -2868,6 +2953,7 @@
                       &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                       &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                       &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                      &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                       &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                         &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                           &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -2948,6 +3034,7 @@
                       &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                       &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                       &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                      &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                       &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                     },
                   ],
@@ -2956,6 +3043,10 @@
                     &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                     &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
                   },
+                  &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                    &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                    &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+                  },
                   &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                     &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                     &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -2991,6 +3082,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -3082,6 +3174,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -3162,6 +3255,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -3170,6 +3264,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -3203,6 +3301,7 @@
                     &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                     &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                     &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                    &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                     &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                   },
                 ],
@@ -3294,6 +3393,7 @@
                     &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                     &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                     &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                    &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                     &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                       &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                         &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -3374,6 +3474,7 @@
                     &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                     &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                     &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                    &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                     &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                   },
                 ],
@@ -3382,6 +3483,10 @@
                   &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                   &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
                 },
+                &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                  &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                  &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+                },
                 &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                   &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                   &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -3420,6 +3525,7 @@
                       &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                       &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                       &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                      &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                       &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                     },
                   ],
@@ -3511,6 +3617,7 @@
                       &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                       &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                       &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                      &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                       &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                         &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                           &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -3591,6 +3698,7 @@
                       &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                       &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                       &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                      &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                       &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                     },
                   ],
@@ -3599,6 +3707,10 @@
                     &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                     &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
                   },
+                  &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                    &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                    &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+                  },
                   &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                     &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                     &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -3664,6 +3776,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -3755,6 +3868,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -3835,6 +3949,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -3843,6 +3958,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -3878,6 +3997,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -3969,6 +4089,7 @@
               &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
               &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
               &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
               &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                 &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                   &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -4049,6 +4170,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -4057,6 +4179,10 @@
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
           },
+          &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+            &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+            &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+          },
           &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -4090,6 +4216,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -4181,6 +4308,7 @@
                 &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                 &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                 &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                 &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                   &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                     &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -4261,6 +4389,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -4269,6 +4398,10 @@
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
             },
+            &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+              &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+              &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+            },
             &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -4307,6 +4440,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -4398,6 +4532,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -4478,6 +4613,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -4486,6 +4622,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -4533,6 +4673,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -4624,6 +4765,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -4704,6 +4846,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -4712,6 +4855,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -4747,6 +4894,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -4838,6 +4986,7 @@
               &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
               &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
               &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
               &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                 &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                   &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -4918,6 +5067,7 @@
               &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
               &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
               &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+              &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
               &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
             },
           ],
@@ -4926,6 +5076,10 @@
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
           },
+          &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+            &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+            &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+          },
           &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
             &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
             &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -4959,6 +5113,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -5050,6 +5205,7 @@
                 &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                 &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                 &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                 &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                   &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                     &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -5130,6 +5286,7 @@
                 &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                 &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                 &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                 &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
               },
             ],
@@ -5138,6 +5295,10 @@
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
             },
+            &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+              &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+              &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+            },
             &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
               &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
               &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
@@ -5176,6 +5337,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -5267,6 +5429,7 @@
                   &quot;legendTemplate&quot;: &quot;A String&quot;, # A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label&#x27;s value.
                   &quot;minAlignmentPeriod&quot;: &quot;A String&quot;, # Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.
                   &quot;plotType&quot;: &quot;A String&quot;, # How this data should be plotted on the chart.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # Optional. The target axis to use for plotting the metric.
                   &quot;timeSeriesQuery&quot;: { # TimeSeriesQuery collects the set of supported methods for querying time series data from the Stackdriver metrics API. # Required. Fields for querying time series data from the Stackdriver metrics API.
                     &quot;timeSeriesFilter&quot;: { # A filter that defines a subset of time series data that is displayed in a widget. Time series data is fetched using the ListTimeSeries (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. # Filter parameters to fetch time series.
                       &quot;aggregation&quot;: { # Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example &quot;the 95% latency across the average of all tasks in a cluster&quot;. This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/aggregation). # By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
@@ -5347,6 +5510,7 @@
                   &quot;color&quot;: &quot;A String&quot;, # The state color for this threshold. Color is not allowed in a XyChart.
                   &quot;direction&quot;: &quot;A String&quot;, # The direction for the current threshold. Direction is not allowed in a XyChart.
                   &quot;label&quot;: &quot;A String&quot;, # A label for the threshold.
+                  &quot;targetAxis&quot;: &quot;A String&quot;, # The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.
                   &quot;value&quot;: 3.14, # The value of the threshold. The value should be defined in the native scale of the metric.
                 },
               ],
@@ -5355,6 +5519,10 @@
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
               },
+              &quot;y2Axis&quot;: { # A chart axis. # The properties applied to the Y2 axis.
+                &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
+                &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
+              },
               &quot;yAxis&quot;: { # A chart axis. # The properties applied to the Y axis.
                 &quot;label&quot;: &quot;A String&quot;, # The label of the axis.
                 &quot;scale&quot;: &quot;A String&quot;, # The axis scale. By default, a linear scale is used.
diff --git a/docs/dyn/monitoring_v3.services.serviceLevelObjectives.html b/docs/dyn/monitoring_v3.services.serviceLevelObjectives.html
index 053603f..ebcc0bc 100644
--- a/docs/dyn/monitoring_v3.services.serviceLevelObjectives.html
+++ b/docs/dyn/monitoring_v3.services.serviceLevelObjectives.html
@@ -136,7 +136,7 @@
     &quot;requestBased&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # Request-based SLIs
       &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
         &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
@@ -169,7 +169,7 @@
         &quot;performance&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # RequestBasedSli to evaluate to judge window quality.
           &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
             &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-            &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+            &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
               &quot;max&quot;: 3.14, # Range maximum.
               &quot;min&quot;: 3.14, # Range minimum.
             },
@@ -183,14 +183,14 @@
         &quot;threshold&quot;: 3.14, # If window performance &gt;= threshold, the window is counted as good.
       },
       &quot;metricMeanInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, averaged across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
         &quot;timeSeries&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window quality.
       },
       &quot;metricSumInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, summed across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
@@ -239,7 +239,7 @@
     &quot;requestBased&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # Request-based SLIs
       &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
         &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
@@ -272,7 +272,7 @@
         &quot;performance&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # RequestBasedSli to evaluate to judge window quality.
           &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
             &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-            &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+            &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
               &quot;max&quot;: 3.14, # Range maximum.
               &quot;min&quot;: 3.14, # Range minimum.
             },
@@ -286,14 +286,14 @@
         &quot;threshold&quot;: 3.14, # If window performance &gt;= threshold, the window is counted as good.
       },
       &quot;metricMeanInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, averaged across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
         &quot;timeSeries&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window quality.
       },
       &quot;metricSumInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, summed across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
@@ -371,7 +371,7 @@
     &quot;requestBased&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # Request-based SLIs
       &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
         &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
@@ -404,7 +404,7 @@
         &quot;performance&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # RequestBasedSli to evaluate to judge window quality.
           &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
             &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-            &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+            &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
               &quot;max&quot;: 3.14, # Range maximum.
               &quot;min&quot;: 3.14, # Range minimum.
             },
@@ -418,14 +418,14 @@
         &quot;threshold&quot;: 3.14, # If window performance &gt;= threshold, the window is counted as good.
       },
       &quot;metricMeanInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, averaged across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
         &quot;timeSeries&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window quality.
       },
       &quot;metricSumInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, summed across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
@@ -491,7 +491,7 @@
         &quot;requestBased&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # Request-based SLIs
           &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
             &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-            &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+            &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
               &quot;max&quot;: 3.14, # Range maximum.
               &quot;min&quot;: 3.14, # Range minimum.
             },
@@ -524,7 +524,7 @@
             &quot;performance&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # RequestBasedSli to evaluate to judge window quality.
               &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
                 &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-                &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+                &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
                   &quot;max&quot;: 3.14, # Range maximum.
                   &quot;min&quot;: 3.14, # Range minimum.
                 },
@@ -538,14 +538,14 @@
             &quot;threshold&quot;: 3.14, # If window performance &gt;= threshold, the window is counted as good.
           },
           &quot;metricMeanInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, averaged across returned streams.
-            &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+            &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
               &quot;max&quot;: 3.14, # Range maximum.
               &quot;min&quot;: 3.14, # Range minimum.
             },
             &quot;timeSeries&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window quality.
           },
           &quot;metricSumInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, summed across returned streams.
-            &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+            &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
               &quot;max&quot;: 3.14, # Range maximum.
               &quot;min&quot;: 3.14, # Range minimum.
             },
@@ -611,7 +611,7 @@
     &quot;requestBased&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # Request-based SLIs
       &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
         &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
@@ -644,7 +644,7 @@
         &quot;performance&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # RequestBasedSli to evaluate to judge window quality.
           &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
             &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-            &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+            &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
               &quot;max&quot;: 3.14, # Range maximum.
               &quot;min&quot;: 3.14, # Range minimum.
             },
@@ -658,14 +658,14 @@
         &quot;threshold&quot;: 3.14, # If window performance &gt;= threshold, the window is counted as good.
       },
       &quot;metricMeanInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, averaged across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
         &quot;timeSeries&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window quality.
       },
       &quot;metricSumInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, summed across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
@@ -714,7 +714,7 @@
     &quot;requestBased&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # Request-based SLIs
       &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
         &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
@@ -747,7 +747,7 @@
         &quot;performance&quot;: { # Service Level Indicators for which atomic units of service are counted directly. # RequestBasedSli to evaluate to judge window quality.
           &quot;distributionCut&quot;: { # A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max. # distribution_cut is used when good_service is a count of values aggregated in a Distribution that fall into a good range. The total_service is the total count of all values aggregated in the Distribution.
             &quot;distributionFilter&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
-            &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+            &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
               &quot;max&quot;: 3.14, # Range maximum.
               &quot;min&quot;: 3.14, # Range minimum.
             },
@@ -761,14 +761,14 @@
         &quot;threshold&quot;: 3.14, # If window performance &gt;= threshold, the window is counted as good.
       },
       &quot;metricMeanInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, averaged across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
         &quot;timeSeries&quot;: &quot;A String&quot;, # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window quality.
       },
       &quot;metricSumInRange&quot;: { # A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min &lt;= x &lt;= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. # A window is good if the metric&#x27;s value is in a good range, summed across returned streams.
-        &quot;range&quot;: { # Range of numerical values within min and max. If the open range &quot;&lt; range.max&quot; is desired, set range.min = -infinity. If the open range &quot;&gt;= range.min&quot; is desired, set range.max = infinity. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
+        &quot;range&quot;: { # Range of numerical values within min and max. # Range of values considered &quot;good.&quot; For a one-sided range, set one bound to an infinite value.
           &quot;max&quot;: 3.14, # Range maximum.
           &quot;min&quot;: 3.14, # Range minimum.
         },
diff --git a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.html b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.html
index fe3070c..adcee20 100644
--- a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.html
+++ b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.html
@@ -80,11 +80,6 @@
 <p class="firstline">Returns the hubs Resource.</p>
 
 <p class="toc_element">
-  <code><a href="networkconnectivity_v1alpha1.projects.locations.global_.policyBasedRoutes.html">policyBasedRoutes()</a></code>
-</p>
-<p class="firstline">Returns the policyBasedRoutes Resource.</p>
-
-<p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <h3>Method Details</h3>
diff --git a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.hubs.html b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.hubs.html
index 918d8de..133dc42 100644
--- a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.hubs.html
+++ b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.global_.hubs.html
@@ -246,7 +246,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -400,7 +400,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
       { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
         &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -442,7 +442,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
diff --git a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.internalRanges.html b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.internalRanges.html
index a541c51..3574f57 100644
--- a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.internalRanges.html
+++ b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.internalRanges.html
@@ -107,7 +107,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -150,7 +150,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
       { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
         &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -192,7 +192,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
diff --git a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.spokes.html b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.spokes.html
index e4ab028..200cda3 100644
--- a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.spokes.html
+++ b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.spokes.html
@@ -268,7 +268,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -444,7 +444,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
       { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
         &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
@@ -486,7 +486,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
     { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
       &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
diff --git a/docs/dyn/notebooks_v1.projects.locations.executions.html b/docs/dyn/notebooks_v1.projects.locations.executions.html
index 5df743e..8f1dc62 100644
--- a/docs/dyn/notebooks_v1.projects.locations.executions.html
+++ b/docs/dyn/notebooks_v1.projects.locations.executions.html
@@ -117,7 +117,11 @@
       &quot;type&quot;: &quot;A String&quot;, # Type of this accelerator.
     },
     &quot;containerImageUri&quot;: &quot;A String&quot;, # Container Image URI to a DLVM Example: &#x27;gcr.io/deeplearning-platform-release/base-cu100&#x27; More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
+    &quot;dataprocParameters&quot;: { # Parameters used in Dataproc JobType executions. # Parameters used in Dataproc JobType executions.
+      &quot;cluster&quot;: &quot;A String&quot;, # URI for cluster used to run Dataproc execution. Format: &#x27;projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}
+    },
     &quot;inputNotebookFile&quot;: &quot;A String&quot;, # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
+    &quot;jobType&quot;: &quot;A String&quot;, # The type of Job to be used on this execution.
     &quot;labels&quot;: { # Labels for execution. If execution is scheduled, a field included will be &#x27;nbs-scheduled&#x27;. Otherwise, it is an immediate execution, and an included field will be &#x27;nbs-immediate&#x27;. Use fields to efficiently index between various types of executions.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -224,7 +228,11 @@
       &quot;type&quot;: &quot;A String&quot;, # Type of this accelerator.
     },
     &quot;containerImageUri&quot;: &quot;A String&quot;, # Container Image URI to a DLVM Example: &#x27;gcr.io/deeplearning-platform-release/base-cu100&#x27; More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
+    &quot;dataprocParameters&quot;: { # Parameters used in Dataproc JobType executions. # Parameters used in Dataproc JobType executions.
+      &quot;cluster&quot;: &quot;A String&quot;, # URI for cluster used to run Dataproc execution. Format: &#x27;projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}
+    },
     &quot;inputNotebookFile&quot;: &quot;A String&quot;, # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
+    &quot;jobType&quot;: &quot;A String&quot;, # The type of Job to be used on this execution.
     &quot;labels&quot;: { # Labels for execution. If execution is scheduled, a field included will be &#x27;nbs-scheduled&#x27;. Otherwise, it is an immediate execution, and an included field will be &#x27;nbs-immediate&#x27;. Use fields to efficiently index between various types of executions.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -273,7 +281,11 @@
           &quot;type&quot;: &quot;A String&quot;, # Type of this accelerator.
         },
         &quot;containerImageUri&quot;: &quot;A String&quot;, # Container Image URI to a DLVM Example: &#x27;gcr.io/deeplearning-platform-release/base-cu100&#x27; More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
+        &quot;dataprocParameters&quot;: { # Parameters used in Dataproc JobType executions. # Parameters used in Dataproc JobType executions.
+          &quot;cluster&quot;: &quot;A String&quot;, # URI for cluster used to run Dataproc execution. Format: &#x27;projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}
+        },
         &quot;inputNotebookFile&quot;: &quot;A String&quot;, # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
+        &quot;jobType&quot;: &quot;A String&quot;, # The type of Job to be used on this execution.
         &quot;labels&quot;: { # Labels for execution. If execution is scheduled, a field included will be &#x27;nbs-scheduled&#x27;. Otherwise, it is an immediate execution, and an included field will be &#x27;nbs-immediate&#x27;. Use fields to efficiently index between various types of executions.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
diff --git a/docs/dyn/notebooks_v1.projects.locations.schedules.html b/docs/dyn/notebooks_v1.projects.locations.schedules.html
index 7d468d4..c8fee4f 100644
--- a/docs/dyn/notebooks_v1.projects.locations.schedules.html
+++ b/docs/dyn/notebooks_v1.projects.locations.schedules.html
@@ -121,7 +121,11 @@
       &quot;type&quot;: &quot;A String&quot;, # Type of this accelerator.
     },
     &quot;containerImageUri&quot;: &quot;A String&quot;, # Container Image URI to a DLVM Example: &#x27;gcr.io/deeplearning-platform-release/base-cu100&#x27; More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
+    &quot;dataprocParameters&quot;: { # Parameters used in Dataproc JobType executions. # Parameters used in Dataproc JobType executions.
+      &quot;cluster&quot;: &quot;A String&quot;, # URI for cluster used to run Dataproc execution. Format: &#x27;projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}
+    },
     &quot;inputNotebookFile&quot;: &quot;A String&quot;, # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
+    &quot;jobType&quot;: &quot;A String&quot;, # The type of Job to be used on this execution.
     &quot;labels&quot;: { # Labels for execution. If execution is scheduled, a field included will be &#x27;nbs-scheduled&#x27;. Otherwise, it is an immediate execution, and an included field will be &#x27;nbs-immediate&#x27;. Use fields to efficiently index between various types of executions.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -144,7 +148,11 @@
           &quot;type&quot;: &quot;A String&quot;, # Type of this accelerator.
         },
         &quot;containerImageUri&quot;: &quot;A String&quot;, # Container Image URI to a DLVM Example: &#x27;gcr.io/deeplearning-platform-release/base-cu100&#x27; More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
+        &quot;dataprocParameters&quot;: { # Parameters used in Dataproc JobType executions. # Parameters used in Dataproc JobType executions.
+          &quot;cluster&quot;: &quot;A String&quot;, # URI for cluster used to run Dataproc execution. Format: &#x27;projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}
+        },
         &quot;inputNotebookFile&quot;: &quot;A String&quot;, # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
+        &quot;jobType&quot;: &quot;A String&quot;, # The type of Job to be used on this execution.
         &quot;labels&quot;: { # Labels for execution. If execution is scheduled, a field included will be &#x27;nbs-scheduled&#x27;. Otherwise, it is an immediate execution, and an included field will be &#x27;nbs-immediate&#x27;. Use fields to efficiently index between various types of executions.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
@@ -257,7 +265,11 @@
       &quot;type&quot;: &quot;A String&quot;, # Type of this accelerator.
     },
     &quot;containerImageUri&quot;: &quot;A String&quot;, # Container Image URI to a DLVM Example: &#x27;gcr.io/deeplearning-platform-release/base-cu100&#x27; More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
+    &quot;dataprocParameters&quot;: { # Parameters used in Dataproc JobType executions. # Parameters used in Dataproc JobType executions.
+      &quot;cluster&quot;: &quot;A String&quot;, # URI for cluster used to run Dataproc execution. Format: &#x27;projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}
+    },
     &quot;inputNotebookFile&quot;: &quot;A String&quot;, # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
+    &quot;jobType&quot;: &quot;A String&quot;, # The type of Job to be used on this execution.
     &quot;labels&quot;: { # Labels for execution. If execution is scheduled, a field included will be &#x27;nbs-scheduled&#x27;. Otherwise, it is an immediate execution, and an included field will be &#x27;nbs-immediate&#x27;. Use fields to efficiently index between various types of executions.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
@@ -280,7 +292,11 @@
           &quot;type&quot;: &quot;A String&quot;, # Type of this accelerator.
         },
         &quot;containerImageUri&quot;: &quot;A String&quot;, # Container Image URI to a DLVM Example: &#x27;gcr.io/deeplearning-platform-release/base-cu100&#x27; More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
+        &quot;dataprocParameters&quot;: { # Parameters used in Dataproc JobType executions. # Parameters used in Dataproc JobType executions.
+          &quot;cluster&quot;: &quot;A String&quot;, # URI for cluster used to run Dataproc execution. Format: &#x27;projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}
+        },
         &quot;inputNotebookFile&quot;: &quot;A String&quot;, # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
+        &quot;jobType&quot;: &quot;A String&quot;, # The type of Job to be used on this execution.
         &quot;labels&quot;: { # Labels for execution. If execution is scheduled, a field included will be &#x27;nbs-scheduled&#x27;. Otherwise, it is an immediate execution, and an included field will be &#x27;nbs-immediate&#x27;. Use fields to efficiently index between various types of executions.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
@@ -336,7 +352,11 @@
           &quot;type&quot;: &quot;A String&quot;, # Type of this accelerator.
         },
         &quot;containerImageUri&quot;: &quot;A String&quot;, # Container Image URI to a DLVM Example: &#x27;gcr.io/deeplearning-platform-release/base-cu100&#x27; More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
+        &quot;dataprocParameters&quot;: { # Parameters used in Dataproc JobType executions. # Parameters used in Dataproc JobType executions.
+          &quot;cluster&quot;: &quot;A String&quot;, # URI for cluster used to run Dataproc execution. Format: &#x27;projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}
+        },
         &quot;inputNotebookFile&quot;: &quot;A String&quot;, # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
+        &quot;jobType&quot;: &quot;A String&quot;, # The type of Job to be used on this execution.
         &quot;labels&quot;: { # Labels for execution. If execution is scheduled, a field included will be &#x27;nbs-scheduled&#x27;. Otherwise, it is an immediate execution, and an included field will be &#x27;nbs-immediate&#x27;. Use fields to efficiently index between various types of executions.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
@@ -359,7 +379,11 @@
               &quot;type&quot;: &quot;A String&quot;, # Type of this accelerator.
             },
             &quot;containerImageUri&quot;: &quot;A String&quot;, # Container Image URI to a DLVM Example: &#x27;gcr.io/deeplearning-platform-release/base-cu100&#x27; More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
+            &quot;dataprocParameters&quot;: { # Parameters used in Dataproc JobType executions. # Parameters used in Dataproc JobType executions.
+              &quot;cluster&quot;: &quot;A String&quot;, # URI for cluster used to run Dataproc execution. Format: &#x27;projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}
+            },
             &quot;inputNotebookFile&quot;: &quot;A String&quot;, # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
+            &quot;jobType&quot;: &quot;A String&quot;, # The type of Job to be used on this execution.
             &quot;labels&quot;: { # Labels for execution. If execution is scheduled, a field included will be &#x27;nbs-scheduled&#x27;. Otherwise, it is an immediate execution, and an included field will be &#x27;nbs-immediate&#x27;. Use fields to efficiently index between various types of executions.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
diff --git a/docs/dyn/people_v1.people.html b/docs/dyn/people_v1.people.html
index 07ea4b0..6e8aaf7 100644
--- a/docs/dyn/people_v1.people.html
+++ b/docs/dyn/people_v1.people.html
@@ -1031,7 +1031,7 @@
 Returns:
   An object of the form:
 
-    { # The response to a request to create a batch of contacts.
+    { # If not successful, returns BatchCreateContactsErrorDetails.contacts which contains a list of errors for each invalid contact. The response to a request to create a batch of contacts.
   &quot;createdPeople&quot;: [ # The contacts that were created, unless the request `read_mask` is empty.
     { # The response for a single person
       &quot;httpStatusCode&quot;: 42, # **DEPRECATED** (Please use status instead) [HTTP 1.1 status code] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
@@ -2854,7 +2854,7 @@
 Returns:
   An object of the form:
 
-    { # The response to a request to create a batch of contacts.
+    { # If not successful, returns BatchUpdateContactsErrorDetails.contacts, a list of errors corresponding to each contact. The response to a request to update a batch of contacts.
   &quot;updateResult&quot;: { # A map of resource names to the contacts that were updated, unless the request `read_mask` is empty.
     &quot;a_key&quot;: { # The response for a single person
       &quot;httpStatusCode&quot;: 42, # **DEPRECATED** (Please use status instead) [HTTP 1.1 status code] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
diff --git a/docs/dyn/policyanalyzer_v1.projects.locations.activityTypes.activities.html b/docs/dyn/policyanalyzer_v1.projects.locations.activityTypes.activities.html
index 4fe17e5..58913dd 100644
--- a/docs/dyn/policyanalyzer_v1.projects.locations.activityTypes.activities.html
+++ b/docs/dyn/policyanalyzer_v1.projects.locations.activityTypes.activities.html
@@ -79,7 +79,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#query">query(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Queries policy activities on GCP resources.</p>
+<p class="firstline">Queries policy activities on Google Cloud resources.</p>
 <p class="toc_element">
   <code><a href="#query_next">query_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -91,11 +91,11 @@
 
 <div class="method">
     <code class="details" id="query">query(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Queries policy activities on GCP resources.
+  <pre>Queries policy activities on Google Cloud resources.
 
 Args:
-  parent: string, Required. The container resource on which to execute the request. Acceptable formats: `projects/[PROJECT_ID|PROJECT_NUMBER]/locations/[LOCATION]/activityTypes/[ACTIVITY_TYPE]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ (required)
-  filter: string, Optional. Optional filter expression to restrict the activities returned. Supported filters are: - service_account_last_authn.full_resource_name {=} - service_account_key_last_authn.full_resource_name {=} 
+  parent: string, Required. The container resource on which to execute the request. Acceptable formats: `projects/[PROJECT_ID|PROJECT_NUMBER]/locations/[LOCATION]/activityTypes/[ACTIVITY_TYPE]` LOCATION here refers to Google Cloud Locations: https://cloud.google.com/about/locations/ (required)
+  filter: string, Optional. Filter expression to restrict the activities returned. Supported filters are: - service_account_last_authn.full_resource_name {=} [STRING] - service_account_key_last_authn.full_resource_name {=} [STRING]
   pageSize: integer, Optional. The maximum number of results to return from this request. Max limit is 1000. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.
   pageToken: string, Optional. If present, then retrieve the next batch of results from the preceding call to this method. `pageToken` must be the value of `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call.
   x__xgafv: string, V1 error format.
@@ -115,8 +115,8 @@
       &quot;activityType&quot;: &quot;A String&quot;, # The type of the activity.
       &quot;fullResourceName&quot;: &quot;A String&quot;, # The full resource name that identifies the resource. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
       &quot;observationPeriod&quot;: { # Represents data observation period. # The data observation period to build the activity.
-        &quot;endTime&quot;: &quot;A String&quot;, # The observation end time.
-        &quot;startTime&quot;: &quot;A String&quot;, # The observation start time.
+        &quot;endTime&quot;: &quot;A String&quot;, # The observation end time. The time in this timestamp is always `07:00:00Z`.
+        &quot;startTime&quot;: &quot;A String&quot;, # The observation start time. The time in this timestamp is always `07:00:00Z`.
       },
     },
   ],
diff --git a/docs/dyn/policytroubleshooter_v1.iam.html b/docs/dyn/policytroubleshooter_v1.iam.html
index 62dffce..a2ce42a 100644
--- a/docs/dyn/policytroubleshooter_v1.iam.html
+++ b/docs/dyn/policytroubleshooter_v1.iam.html
@@ -137,7 +137,7 @@
         },
       ],
       &quot;fullResourceName&quot;: &quot;A String&quot;, # The full resource name that identifies the resource. For example, `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. If the sender of the request does not have access to the policy, this field is omitted. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
-      &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # The IAM policy attached to the resource. If the sender of the request does not have access to the policy, this field is empty.
+      &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # The IAM policy attached to the resource. If the sender of the request does not have access to the policy, this field is empty.
         &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
           { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
             &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
diff --git a/docs/dyn/policytroubleshooter_v1beta.iam.html b/docs/dyn/policytroubleshooter_v1beta.iam.html
index 81b0af8..fbb184a 100644
--- a/docs/dyn/policytroubleshooter_v1beta.iam.html
+++ b/docs/dyn/policytroubleshooter_v1beta.iam.html
@@ -137,7 +137,7 @@
         },
       ],
       &quot;fullResourceName&quot;: &quot;A String&quot;, # The full resource name that identifies the resource. For example, `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. If the sender of the request does not have access to the policy, this field is omitted. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
-      &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # The IAM policy attached to the resource. If the sender of the request does not have access to the policy, this field is empty.
+      &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # The IAM policy attached to the resource. If the sender of the request does not have access to the policy, this field is empty.
         &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
           { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.
             &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html b/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html
index ace244d..34ab27c 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html
@@ -170,7 +170,7 @@
     The object takes the form of:
 
 { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -223,7 +223,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -233,11 +233,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -302,7 +302,7 @@
   An object of the form:
 
     { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -355,7 +355,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -365,11 +365,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -458,7 +458,7 @@
   An object of the form:
 
     { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -511,7 +511,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -521,11 +521,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -616,7 +616,7 @@
     &quot;productInlineSource&quot;: { # The inline source for the input config for ImportProducts method. # The Inline source for the input content for products.
       &quot;products&quot;: [ # Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 100 items.
         { # Product captures all metadata information of items to be recommended or searched.
-          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
             &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
               &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
               &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -669,7 +669,7 @@
               &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
             },
           ],
-          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
           &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
           &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
             { # Product thumbnail/detail image.
@@ -679,11 +679,11 @@
             },
           ],
           &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
             &quot;A String&quot;,
           ],
           &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
             &quot;A String&quot;,
           ],
           &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -797,7 +797,7 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be sent as ListProductsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
   &quot;products&quot;: [ # The Products.
     { # Product captures all metadata information of items to be recommended or searched.
-      &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+      &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
         &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
           &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
           &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -850,7 +850,7 @@
           &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
         },
       ],
-      &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+      &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
       &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
       &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
         { # Product thumbnail/detail image.
@@ -860,11 +860,11 @@
         },
       ],
       &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-      &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+      &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
         &quot;A String&quot;,
       ],
       &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-      &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+      &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
         &quot;A String&quot;,
       ],
       &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -946,7 +946,7 @@
     The object takes the form of:
 
 { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -999,7 +999,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -1009,11 +1009,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -1079,7 +1079,7 @@
   An object of the form:
 
     { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -1132,7 +1132,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -1142,11 +1142,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -1261,7 +1261,7 @@
 { # Request message for SetInventory method.
   &quot;allowMissing&quot;: True or False, # If set to true, and the Product with name Product.name is not found, the inventory update will still be processed and retained for at most 1 day until the Product is created. If set to false, an INVALID_ARGUMENT error is returned if the Product is not found.
   &quot;inventory&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. The inventory information to update. The allowable fields to update are: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info The updated inventory fields must be specified in SetInventoryRequest.set_mask. If SetInventoryRequest.inventory.name is empty or invalid, an INVALID_ARGUMENT error is returned. If the caller does not have permission to update the Product named in Product.name, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Product to update does not have existing inventory information, the provided inventory information will be inserted. If the Product to update has existing inventory information, the provided inventory information will be merged while respecting the last update time for each inventory field, using the provided or default value for SetInventoryRequest.set_time. The last update time is recorded for the following inventory fields: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info If a full overwrite of inventory information while ignoring timestamps is needed, UpdateProduct should be invoked instead.
-    &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+    &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
       &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
         &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
         &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -1314,7 +1314,7 @@
         &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
       },
     ],
-    &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+    &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
     &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
     &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
       { # Product thumbnail/detail image.
@@ -1324,11 +1324,11 @@
       },
     ],
     &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-    &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+    &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
       &quot;A String&quot;,
     ],
     &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-    &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+    &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
       &quot;A String&quot;,
     ],
     &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.html b/docs/dyn/retail_v2.projects.locations.catalogs.html
index 89c1d0b..0d9db8b 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.html
@@ -165,7 +165,7 @@
       &quot;suggestion&quot;: &quot;A String&quot;, # The suggestion for the query.
     },
   ],
-  &quot;recentSearchResults&quot;: [ # Matched recent searches of this user. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.
+  &quot;recentSearchResults&quot;: [ # Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.
     { # Recent search of this user.
       &quot;recentSearch&quot;: &quot;A String&quot;, # The recent search query.
     },
diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2.projects.locations.catalogs.placements.html
index b5a2d29..a2ca06b 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.placements.html
@@ -146,7 +146,7 @@
     &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
       { # Detailed product information associated with a user event.
         &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
             &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
               &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
               &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -199,7 +199,7 @@
               &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
             },
           ],
-          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
           &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
           &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
             { # Product thumbnail/detail image.
@@ -209,11 +209,11 @@
             },
           ],
           &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
             &quot;A String&quot;,
           ],
           &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
             &quot;A String&quot;,
           ],
           &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -382,6 +382,7 @@
   &quot;query&quot;: &quot;A String&quot;, # Raw search query.
   &quot;queryExpansionSpec&quot;: { # Specification to determine under which conditions query expansion should occur. # The query expansion specification that specifies the conditions under which query expansion will occur. See more details at this [user guide](/retail/private/docs/result-size#query_expansion).
     &quot;condition&quot;: &quot;A String&quot;, # The condition under which query expansion should occur. Default to Condition.DISABLED.
+    &quot;pinUnexpandedResults&quot;: True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.
   },
   &quot;userInfo&quot;: { # Information of an end user. # User information.
     &quot;directUserRequest&quot;: True or False, # True if the request is made directly from the end user, in which case the ip_address and user_agent can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events). This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent.
@@ -427,6 +428,7 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
   &quot;queryExpansionInfo&quot;: { # Information describing query expansion including whether expansion has occurred. # Query expansion information for the returned results.
     &quot;expandedQuery&quot;: True or False, # Bool describing whether query expansion has occurred.
+    &quot;pinnedResultCount&quot;: &quot;A String&quot;, # Number of pinned results. This field will only be set when expansion happens and SearchRequest.query_expansion_spec.pin_unexpanded_results is set to true.
   },
   &quot;redirectUri&quot;: &quot;A String&quot;, # The URI of a customer-defined redirect page. If redirect action is triggered, no search will be performed, and only redirect_uri and attribution_token will be set in the response.
   &quot;results&quot;: [ # A list of matched items. The order represents the ranking.
@@ -437,7 +439,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching &quot;shoe&quot; all products in a shoe product can be a match, 5 product variants are returned but order is meaningless.
-        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
           &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
             &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
             &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -490,7 +492,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
           },
         ],
-        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
         &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
           { # Product thumbnail/detail image.
@@ -500,11 +502,11 @@
           },
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
           &quot;A String&quot;,
         ],
         &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
           &quot;A String&quot;,
         ],
         &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -558,7 +560,7 @@
           # Object with schema name: GoogleCloudRetailV2Product
         ],
       },
-      &quot;variantRollupValues&quot;: { # The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by &quot;colorFamilies:ANY(\&quot;red\&quot;)&quot; and rollup &quot;colorFamilies&quot;, only &quot;red&quot; is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors &quot;red&quot; and &quot;blue&quot;, the rollup values are { key: &quot;colorFamilies&quot; value { list_value { values { string_value: &quot;red&quot; } values { string_value: &quot;blue&quot; } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, {key: &quot;pickupInStore.store1&quot; value { number_value: 10 }} means a there are 10 variants in this product are available in the store &quot;store1&quot;.
+      &quot;variantRollupValues&quot;: { # The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by &quot;colorFamilies:ANY(\&quot;red\&quot;)&quot; and rollup &quot;colorFamilies&quot;, only &quot;red&quot; is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors &quot;red&quot; and &quot;blue&quot;, the rollup values are { key: &quot;colorFamilies&quot; value { list_value { values { string_value: &quot;red&quot; } values { string_value: &quot;blue&quot; } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, `{key: &quot;pickupInStore.store1&quot; value { number_value: 10 }}` means a there are 10 variants in this product are available in the store &quot;store1&quot;.
         &quot;a_key&quot;: &quot;&quot;,
       },
     },
diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html
index 8fcf354..46b4d2f 100644
--- a/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html
@@ -195,7 +195,7 @@
           &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
             { # Detailed product information associated with a user event.
               &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-                &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+                &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
                   &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
                     &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
                     &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -248,7 +248,7 @@
                     &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
                   },
                 ],
-                &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+                &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
                 &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
                 &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
                   { # Product thumbnail/detail image.
@@ -258,11 +258,11 @@
                   },
                 ],
                 &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-                &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+                &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
                   &quot;A String&quot;,
                 ],
                 &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-                &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+                &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
                   &quot;A String&quot;,
                 ],
                 &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -501,7 +501,7 @@
   &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
     { # Detailed product information associated with a user event.
       &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
           &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
             &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
             &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -554,7 +554,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
           },
         ],
-        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
         &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
           { # Product thumbnail/detail image.
@@ -564,11 +564,11 @@
           },
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
           &quot;A String&quot;,
         ],
         &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
           &quot;A String&quot;,
         ],
         &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -688,7 +688,7 @@
   &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
     { # Detailed product information associated with a user event.
       &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
           &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
             &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
             &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -741,7 +741,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
           },
         ],
-        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
         &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
           { # Product thumbnail/detail image.
@@ -751,11 +751,11 @@
           },
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
           &quot;A String&quot;,
         ],
         &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
           &quot;A String&quot;,
         ],
         &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html
index e4c6910..d20075d 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html
@@ -170,7 +170,7 @@
     The object takes the form of:
 
 { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -223,7 +223,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -233,11 +233,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -302,7 +302,7 @@
   An object of the form:
 
     { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -355,7 +355,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -365,11 +365,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -458,7 +458,7 @@
   An object of the form:
 
     { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -511,7 +511,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -521,11 +521,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -616,7 +616,7 @@
     &quot;productInlineSource&quot;: { # The inline source for the input config for ImportProducts method. # The Inline source for the input content for products.
       &quot;products&quot;: [ # Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 100 items.
         { # Product captures all metadata information of items to be recommended or searched.
-          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
             &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
               &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
               &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -669,7 +669,7 @@
               &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
             },
           ],
-          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
           &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
           &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
             { # Product thumbnail/detail image.
@@ -679,11 +679,11 @@
             },
           ],
           &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
             &quot;A String&quot;,
           ],
           &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
             &quot;A String&quot;,
           ],
           &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -798,7 +798,7 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be sent as ListProductsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
   &quot;products&quot;: [ # The Products.
     { # Product captures all metadata information of items to be recommended or searched.
-      &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+      &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
         &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
           &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
           &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -851,7 +851,7 @@
           &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
         },
       ],
-      &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+      &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
       &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
       &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
         { # Product thumbnail/detail image.
@@ -861,11 +861,11 @@
         },
       ],
       &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-      &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+      &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
         &quot;A String&quot;,
       ],
       &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-      &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+      &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
         &quot;A String&quot;,
       ],
       &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -948,7 +948,7 @@
     The object takes the form of:
 
 { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -1001,7 +1001,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -1011,11 +1011,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -1081,7 +1081,7 @@
   An object of the form:
 
     { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -1134,7 +1134,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -1144,11 +1144,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -1263,7 +1263,7 @@
 { # Request message for SetInventory method.
   &quot;allowMissing&quot;: True or False, # If set to true, and the Product with name Product.name is not found, the inventory update will still be processed and retained for at most 1 day until the Product is created. If set to false, an INVALID_ARGUMENT error is returned if the Product is not found.
   &quot;inventory&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. The inventory information to update. The allowable fields to update are: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info The updated inventory fields must be specified in SetInventoryRequest.set_mask. If SetInventoryRequest.inventory.name is empty or invalid, an INVALID_ARGUMENT error is returned. If the caller does not have permission to update the Product named in Product.name, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Product to update does not have existing inventory information, the provided inventory information will be inserted. If the Product to update has existing inventory information, the provided inventory information will be merged while respecting the last update time for each inventory field, using the provided or default value for SetInventoryRequest.set_time. The last update time is recorded for the following inventory fields: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info If a full overwrite of inventory information while ignoring timestamps is needed, UpdateProduct should be invoked instead.
-    &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+    &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
       &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
         &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
         &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -1316,7 +1316,7 @@
         &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
       },
     ],
-    &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+    &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
     &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
     &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
       { # Product thumbnail/detail image.
@@ -1326,11 +1326,11 @@
       },
     ],
     &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-    &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+    &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
       &quot;A String&quot;,
     ],
     &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-    &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+    &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
       &quot;A String&quot;,
     ],
     &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.html
index 5284c16..7011cfb 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.html
@@ -165,7 +165,7 @@
       &quot;suggestion&quot;: &quot;A String&quot;, # The suggestion for the query.
     },
   ],
-  &quot;recentSearchResults&quot;: [ # Matched recent searches of this user. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.
+  &quot;recentSearchResults&quot;: [ # Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.
     { # Recent search of this user.
       &quot;recentSearch&quot;: &quot;A String&quot;, # The recent search query.
     },
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
index eab4a44..c3bbe02 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
@@ -146,7 +146,7 @@
     &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
       { # Detailed product information associated with a user event.
         &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
             &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
               &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
               &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -199,7 +199,7 @@
               &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
             },
           ],
-          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
           &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
           &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
             { # Product thumbnail/detail image.
@@ -209,11 +209,11 @@
             },
           ],
           &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
             &quot;A String&quot;,
           ],
           &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
             &quot;A String&quot;,
           ],
           &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -382,6 +382,7 @@
   &quot;query&quot;: &quot;A String&quot;, # Raw search query.
   &quot;queryExpansionSpec&quot;: { # Specification to determine under which conditions query expansion should occur. # The query expansion specification that specifies the conditions under which query expansion will occur. See more details at this [user guide](/retail/private/docs/result-size#query_expansion).
     &quot;condition&quot;: &quot;A String&quot;, # The condition under which query expansion should occur. Default to Condition.DISABLED.
+    &quot;pinUnexpandedResults&quot;: True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.
   },
   &quot;relevanceThreshold&quot;: &quot;A String&quot;, # The relevance threshold of the search results. Defaults to RelevanceThreshold.HIGH, which means only the most relevant results are shown, and the least number of results are returned. See more details at this [user guide](/retail/private/docs/result-size#relevance_thresholding).
   &quot;userInfo&quot;: { # Information of an end user. # User information.
@@ -428,6 +429,7 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
   &quot;queryExpansionInfo&quot;: { # Information describing query expansion including whether expansion has occurred. # Query expansion information for the returned results.
     &quot;expandedQuery&quot;: True or False, # Bool describing whether query expansion has occurred.
+    &quot;pinnedResultCount&quot;: &quot;A String&quot;, # Number of pinned results. This field will only be set when expansion happens and SearchRequest.query_expansion_spec.pin_unexpanded_results is set to true.
   },
   &quot;redirectUri&quot;: &quot;A String&quot;, # The URI of a customer-defined redirect page. If redirect action is triggered, no search will be performed, and only redirect_uri and attribution_token will be set in the response.
   &quot;results&quot;: [ # A list of matched items. The order represents the ranking.
@@ -438,7 +440,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching &quot;shoe&quot; all products in a shoe product can be a match, 5 product variants are returned but order is meaningless.
-        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
           &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
             &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
             &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -491,7 +493,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
           },
         ],
-        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
         &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
           { # Product thumbnail/detail image.
@@ -501,11 +503,11 @@
           },
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
           &quot;A String&quot;,
         ],
         &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
           &quot;A String&quot;,
         ],
         &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -559,7 +561,7 @@
           # Object with schema name: GoogleCloudRetailV2alphaProduct
         ],
       },
-      &quot;variantRollupValues&quot;: { # The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by &quot;colorFamilies:ANY(\&quot;red\&quot;)&quot; and rollup &quot;colorFamilies&quot;, only &quot;red&quot; is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors &quot;red&quot; and &quot;blue&quot;, the rollup values are { key: &quot;colorFamilies&quot; value { list_value { values { string_value: &quot;red&quot; } values { string_value: &quot;blue&quot; } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, {key: &quot;pickupInStore.store1&quot; value { number_value: 10 }} means a there are 10 variants in this product are available in the store &quot;store1&quot;.
+      &quot;variantRollupValues&quot;: { # The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by &quot;colorFamilies:ANY(\&quot;red\&quot;)&quot; and rollup &quot;colorFamilies&quot;, only &quot;red&quot; is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors &quot;red&quot; and &quot;blue&quot;, the rollup values are { key: &quot;colorFamilies&quot; value { list_value { values { string_value: &quot;red&quot; } values { string_value: &quot;blue&quot; } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, `{key: &quot;pickupInStore.store1&quot; value { number_value: 10 }}` means a there are 10 variants in this product are available in the store &quot;store1&quot;.
         &quot;a_key&quot;: &quot;&quot;,
       },
     },
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
index 0c66990..1fdd732 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
@@ -195,7 +195,7 @@
           &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
             { # Detailed product information associated with a user event.
               &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-                &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+                &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
                   &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
                     &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
                     &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -248,7 +248,7 @@
                     &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
                   },
                 ],
-                &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+                &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
                 &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
                 &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
                   { # Product thumbnail/detail image.
@@ -258,11 +258,11 @@
                   },
                 ],
                 &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-                &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+                &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
                   &quot;A String&quot;,
                 ],
                 &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-                &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+                &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
                   &quot;A String&quot;,
                 ],
                 &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -501,7 +501,7 @@
   &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
     { # Detailed product information associated with a user event.
       &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
           &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
             &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
             &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -554,7 +554,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
           },
         ],
-        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
         &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
           { # Product thumbnail/detail image.
@@ -564,11 +564,11 @@
           },
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
           &quot;A String&quot;,
         ],
         &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
           &quot;A String&quot;,
         ],
         &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -688,7 +688,7 @@
   &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
     { # Detailed product information associated with a user event.
       &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
           &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
             &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
             &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -741,7 +741,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
           },
         ],
-        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
         &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
           { # Product thumbnail/detail image.
@@ -751,11 +751,11 @@
           },
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
           &quot;A String&quot;,
         ],
         &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
           &quot;A String&quot;,
         ],
         &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html
index d8233b6..21703b9 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html
@@ -170,7 +170,7 @@
     The object takes the form of:
 
 { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -223,7 +223,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -233,11 +233,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -302,7 +302,7 @@
   An object of the form:
 
     { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -355,7 +355,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -365,11 +365,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -458,7 +458,7 @@
   An object of the form:
 
     { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -511,7 +511,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -521,11 +521,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -616,7 +616,7 @@
     &quot;productInlineSource&quot;: { # The inline source for the input config for ImportProducts method. # The Inline source for the input content for products.
       &quot;products&quot;: [ # Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 100 items.
         { # Product captures all metadata information of items to be recommended or searched.
-          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
             &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
               &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
               &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -669,7 +669,7 @@
               &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
             },
           ],
-          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
           &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
           &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
             { # Product thumbnail/detail image.
@@ -679,11 +679,11 @@
             },
           ],
           &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
             &quot;A String&quot;,
           ],
           &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
             &quot;A String&quot;,
           ],
           &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -797,7 +797,7 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be sent as ListProductsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
   &quot;products&quot;: [ # The Products.
     { # Product captures all metadata information of items to be recommended or searched.
-      &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+      &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
         &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
           &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
           &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -850,7 +850,7 @@
           &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
         },
       ],
-      &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+      &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
       &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
       &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
         { # Product thumbnail/detail image.
@@ -860,11 +860,11 @@
         },
       ],
       &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-      &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+      &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
         &quot;A String&quot;,
       ],
       &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-      &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+      &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
         &quot;A String&quot;,
       ],
       &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -946,7 +946,7 @@
     The object takes the form of:
 
 { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -999,7 +999,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -1009,11 +1009,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -1079,7 +1079,7 @@
   An object of the form:
 
     { # Product captures all metadata information of items to be recommended or searched.
-  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+  &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
     &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
       &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
       &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -1132,7 +1132,7 @@
       &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
     },
   ],
-  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+  &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
   &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
   &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
     { # Product thumbnail/detail image.
@@ -1142,11 +1142,11 @@
     },
   ],
   &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+  &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
     &quot;A String&quot;,
   ],
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+  &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
     &quot;A String&quot;,
   ],
   &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -1261,7 +1261,7 @@
 { # Request message for SetInventory method.
   &quot;allowMissing&quot;: True or False, # If set to true, and the Product with name Product.name is not found, the inventory update will still be processed and retained for at most 1 day until the Product is created. If set to false, an INVALID_ARGUMENT error is returned if the Product is not found.
   &quot;inventory&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. The inventory information to update. The allowable fields to update are: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info The updated inventory fields must be specified in SetInventoryRequest.set_mask. If SetInventoryRequest.inventory.name is empty or invalid, an INVALID_ARGUMENT error is returned. If the caller does not have permission to update the Product named in Product.name, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Product to update does not have existing inventory information, the provided inventory information will be inserted. If the Product to update has existing inventory information, the provided inventory information will be merged while respecting the last update time for each inventory field, using the provided or default value for SetInventoryRequest.set_time. The last update time is recorded for the following inventory fields: * Product.price_info * Product.availability * Product.available_quantity * Product.fulfillment_info If a full overwrite of inventory information while ignoring timestamps is needed, UpdateProduct should be invoked instead.
-    &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+    &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
       &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
         &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
         &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -1314,7 +1314,7 @@
         &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
       },
     ],
-    &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+    &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
     &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
     &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
       { # Product thumbnail/detail image.
@@ -1324,11 +1324,11 @@
       },
     ],
     &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-    &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+    &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
       &quot;A String&quot;,
     ],
     &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-    &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+    &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
       &quot;A String&quot;,
     ],
     &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.html
index f074058..b1e6eac 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.html
@@ -165,7 +165,7 @@
       &quot;suggestion&quot;: &quot;A String&quot;, # The suggestion for the query.
     },
   ],
-  &quot;recentSearchResults&quot;: [ # Matched recent searches of this user. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.
+  &quot;recentSearchResults&quot;: [ # Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.
     { # Recent search of this user.
       &quot;recentSearch&quot;: &quot;A String&quot;, # The recent search query.
     },
diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html
index a19c62b..fc91ebf 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html
@@ -146,7 +146,7 @@
     &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
       { # Detailed product information associated with a user event.
         &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+          &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
             &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
               &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
               &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -199,7 +199,7 @@
               &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
             },
           ],
-          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+          &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
           &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
           &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
             { # Product thumbnail/detail image.
@@ -209,11 +209,11 @@
             },
           ],
           &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+          &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
             &quot;A String&quot;,
           ],
           &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+          &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
             &quot;A String&quot;,
           ],
           &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -382,6 +382,7 @@
   &quot;query&quot;: &quot;A String&quot;, # Raw search query.
   &quot;queryExpansionSpec&quot;: { # Specification to determine under which conditions query expansion should occur. # The query expansion specification that specifies the conditions under which query expansion will occur. See more details at this [user guide](/retail/private/docs/result-size#query_expansion).
     &quot;condition&quot;: &quot;A String&quot;, # The condition under which query expansion should occur. Default to Condition.DISABLED.
+    &quot;pinUnexpandedResults&quot;: True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.
   },
   &quot;userInfo&quot;: { # Information of an end user. # User information.
     &quot;directUserRequest&quot;: True or False, # True if the request is made directly from the end user, in which case the ip_address and user_agent can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events). This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent.
@@ -427,6 +428,7 @@
   &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
   &quot;queryExpansionInfo&quot;: { # Information describing query expansion including whether expansion has occurred. # Query expansion information for the returned results.
     &quot;expandedQuery&quot;: True or False, # Bool describing whether query expansion has occurred.
+    &quot;pinnedResultCount&quot;: &quot;A String&quot;, # Number of pinned results. This field will only be set when expansion happens and SearchRequest.query_expansion_spec.pin_unexpanded_results is set to true.
   },
   &quot;redirectUri&quot;: &quot;A String&quot;, # The URI of a customer-defined redirect page. If redirect action is triggered, no search will be performed, and only redirect_uri and attribution_token will be set in the response.
   &quot;results&quot;: [ # A list of matched items. The order represents the ranking.
@@ -437,7 +439,7 @@
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching &quot;shoe&quot; all products in a shoe product can be a match, 5 product variants are returned but order is meaningless.
-        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
           &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
             &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
             &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -490,7 +492,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
           },
         ],
-        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
         &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
           { # Product thumbnail/detail image.
@@ -500,11 +502,11 @@
           },
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
           &quot;A String&quot;,
         ],
         &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
           &quot;A String&quot;,
         ],
         &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -558,7 +560,7 @@
           # Object with schema name: GoogleCloudRetailV2betaProduct
         ],
       },
-      &quot;variantRollupValues&quot;: { # The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by &quot;colorFamilies:ANY(\&quot;red\&quot;)&quot; and rollup &quot;colorFamilies&quot;, only &quot;red&quot; is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors &quot;red&quot; and &quot;blue&quot;, the rollup values are { key: &quot;colorFamilies&quot; value { list_value { values { string_value: &quot;red&quot; } values { string_value: &quot;blue&quot; } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, {key: &quot;pickupInStore.store1&quot; value { number_value: 10 }} means a there are 10 variants in this product are available in the store &quot;store1&quot;.
+      &quot;variantRollupValues&quot;: { # The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by &quot;colorFamilies:ANY(\&quot;red\&quot;)&quot; and rollup &quot;colorFamilies&quot;, only &quot;red&quot; is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors &quot;red&quot; and &quot;blue&quot;, the rollup values are { key: &quot;colorFamilies&quot; value { list_value { values { string_value: &quot;red&quot; } values { string_value: &quot;blue&quot; } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, `{key: &quot;pickupInStore.store1&quot; value { number_value: 10 }}` means a there are 10 variants in this product are available in the store &quot;store1&quot;.
         &quot;a_key&quot;: &quot;&quot;,
       },
     },
diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html
index 5c022c7..3f873b7 100644
--- a/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html
@@ -195,7 +195,7 @@
           &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
             { # Detailed product information associated with a user event.
               &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-                &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+                &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
                   &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
                     &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
                     &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -248,7 +248,7 @@
                     &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
                   },
                 ],
-                &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+                &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
                 &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
                 &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
                   { # Product thumbnail/detail image.
@@ -258,11 +258,11 @@
                   },
                 ],
                 &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-                &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+                &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
                   &quot;A String&quot;,
                 ],
                 &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-                &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+                &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
                   &quot;A String&quot;,
                 ],
                 &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -501,7 +501,7 @@
   &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
     { # Detailed product information associated with a user event.
       &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
           &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
             &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
             &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -554,7 +554,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
           },
         ],
-        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
         &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
           { # Product thumbnail/detail image.
@@ -564,11 +564,11 @@
           },
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
           &quot;A String&quot;,
         ],
         &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
           &quot;A String&quot;,
         ],
         &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
@@ -688,7 +688,7 @@
   &quot;productDetails&quot;: [ # The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished broswing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished broswing the whole page yet.
     { # Detailed product information associated with a user event.
       &quot;product&quot;: { # Product captures all metadata information of items to be recommended or searched. # Required. Product information. Required field(s): * Product.id Optional override field(s): * Product.price_info If any supported optional fields are provided, we will treat them as a full override when looking up product information from the catalog. Thus, it is important to ensure that the overriding fields are accurate and complete. All other product fields are ignored and instead populated via catalog lookup after event ingestion.
-        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
+        &quot;attributes&quot;: { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ &quot;vendor&quot;: {&quot;text&quot;: [&quot;vendor123&quot;, &quot;vendor456&quot;]}, &quot;lengths_cm&quot;: {&quot;numbers&quot;:[2.3, 15.4]}, &quot;heights_cm&quot;: {&quot;numbers&quot;:[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.
           &quot;a_key&quot;: { # A custom attribute that is not explicitly modeled in Product.
             &quot;indexable&quot;: True or False, # If true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.
             &quot;numbers&quot;: [ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is &quot;lengths_cm&quot;. At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -741,7 +741,7 @@
             &quot;type&quot;: &quot;A String&quot;, # The fulfillment type, including commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * &quot;pickup-in-store&quot; * &quot;ship-to-store&quot; * &quot;same-day-delivery&quot; * &quot;next-day-delivery&quot; * &quot;custom-type-1&quot; * &quot;custom-type-2&quot; * &quot;custom-type-3&quot; * &quot;custom-type-4&quot; * &quot;custom-type-5&quot; If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
           },
         ],
-        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+        &quot;gtin&quot;: &quot;A String&quot;, # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
         &quot;id&quot;: &quot;A String&quot;, # Immutable. Product identifier, which is the final component of name. For example, this field is &quot;id_1&quot;, if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).
         &quot;images&quot;: [ # Product images for the product.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).
           { # Product thumbnail/detail image.
@@ -751,11 +751,11 @@
           },
         ],
         &quot;languageCode&quot;: &quot;A String&quot;, # Language of the title/description and other string attributes. Use language tags defined by BCP 47. For product prediction, this field is ignored and the model automatically detects the text language. The Product can include text in different languages, but duplicating Products to provide text in multiple languages can result in degraded model performance. For product search this field is in use. It defaults to &quot;en-US&quot; if unset.
-        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
+        &quot;materials&quot;: [ # The material of the product. For example, &quot;leather&quot;, &quot;wooden&quot;. A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).
           &quot;A String&quot;,
         ],
         &quot;name&quot;: &quot;A String&quot;, # Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be &quot;default_branch&quot;.
-        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
+        &quot;patterns&quot;: [ # The pattern or graphic print of the product. For example, &quot;striped&quot;, &quot;polka dot&quot;, &quot;paisley&quot;. A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).
           &quot;A String&quot;,
         ],
         &quot;priceInfo&quot;: { # The price information of a Product. # Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371).
diff --git a/docs/dyn/run_v1.namespaces.configurations.html b/docs/dyn/run_v1.namespaces.configurations.html
index 4c430ce..97836eb 100644
--- a/docs/dyn/run_v1.namespaces.configurations.html
+++ b/docs/dyn/run_v1.namespaces.configurations.html
@@ -103,7 +103,7 @@
 Returns:
   An object of the form:
 
-    { # Configuration represents the &quot;floating HEAD&quot; of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration&#x27;s spec. The &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest ready&quot; revision&#x27;s name. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
+    { # Configuration represents the &quot;floating HEAD&quot; of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration&#x27;s spec. The &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest ready&quot; revision&#x27;s name. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#configuration
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Configuration, including name, namespace, labels, and annotations.
@@ -174,7 +174,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -382,7 +382,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # LatestCreatedRevisionName is the last revision that was created from this Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -416,7 +416,7 @@
     { # ListConfigurationsResponse is a list of Configuration resources.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;items&quot;: [ # List of Configurations.
-    { # Configuration represents the &quot;floating HEAD&quot; of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration&#x27;s spec. The &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest ready&quot; revision&#x27;s name. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
+    { # Configuration represents the &quot;floating HEAD&quot; of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration&#x27;s spec. The &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest ready&quot; revision&#x27;s name. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#configuration
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
       &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Configuration, including name, namespace, labels, and annotations.
@@ -487,7 +487,7 @@
           },
           &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
             &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
               { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
                 &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
                   &quot;A String&quot;,
@@ -695,7 +695,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # LatestCreatedRevisionName is the last revision that was created from this Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
diff --git a/docs/dyn/run_v1.namespaces.domainmappings.html b/docs/dyn/run_v1.namespaces.domainmappings.html
index 68187a0..2342333 100644
--- a/docs/dyn/run_v1.namespaces.domainmappings.html
+++ b/docs/dyn/run_v1.namespaces.domainmappings.html
@@ -152,7 +152,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;mappedRouteName&quot;: &quot;A String&quot;, # The name of the route that the mapping currently points to.
@@ -225,7 +225,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;mappedRouteName&quot;: &quot;A String&quot;, # The name of the route that the mapping currently points to.
@@ -349,7 +349,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;mappedRouteName&quot;: &quot;A String&quot;, # The name of the route that the mapping currently points to.
@@ -438,7 +438,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;mappedRouteName&quot;: &quot;A String&quot;, # The name of the route that the mapping currently points to.
diff --git a/docs/dyn/run_v1.namespaces.revisions.html b/docs/dyn/run_v1.namespaces.revisions.html
index db66aab..fda324c 100644
--- a/docs/dyn/run_v1.namespaces.revisions.html
+++ b/docs/dyn/run_v1.namespaces.revisions.html
@@ -151,7 +151,7 @@
 Returns:
   An object of the form:
 
-    { # Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
+    { # Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Revision, including name, namespace, labels, and annotations.
@@ -188,7 +188,7 @@
   },
   &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # Spec holds the desired state of the Revision (from the client).
     &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-    &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+    &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
       { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
         &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
           &quot;A String&quot;,
@@ -394,7 +394,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;imageDigest&quot;: &quot;A String&quot;, # ImageDigest holds the resolved digest for the image specified within .Spec.Container.Image. The digest is resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object.
@@ -429,7 +429,7 @@
     { # ListRevisionsResponse is a list of Revision resources.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;items&quot;: [ # List of Revisions.
-    { # Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
+    { # Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
       &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Revision, including name, namespace, labels, and annotations.
@@ -466,7 +466,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # Spec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -672,7 +672,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;imageDigest&quot;: &quot;A String&quot;, # ImageDigest holds the resolved digest for the image specified within .Spec.Container.Image. The digest is resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object.
diff --git a/docs/dyn/run_v1.namespaces.routes.html b/docs/dyn/run_v1.namespaces.routes.html
index 2fdb6ad..89bda00 100644
--- a/docs/dyn/run_v1.namespaces.routes.html
+++ b/docs/dyn/run_v1.namespaces.routes.html
@@ -103,7 +103,7 @@
 Returns:
   An object of the form:
 
-    { # Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for &quot;latest ready&quot; revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the &quot;latest ready&quot; Revision from that Configuration.
+    { # Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for &quot;latest ready&quot; revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the &quot;latest ready&quot; Revision from that Configuration.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case always &quot;Route&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Route, including name, namespace, labels, and annotations.
@@ -161,7 +161,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False. Note that providing a trafficTarget that only has a configurationName will result in a Route that does not increment either its metadata.generation or its observedGeneration, as new &quot;latest ready&quot; revisions from the Configuration are processed without an update to the Route&#x27;s spec.
@@ -204,7 +204,7 @@
     { # ListRoutesResponse is a list of Route resources.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;items&quot;: [ # List of Routes.
-    { # Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for &quot;latest ready&quot; revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the &quot;latest ready&quot; Revision from that Configuration.
+    { # Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for &quot;latest ready&quot; revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the &quot;latest ready&quot; Revision from that Configuration.
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case always &quot;Route&quot;.
       &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Route, including name, namespace, labels, and annotations.
@@ -262,7 +262,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False. Note that providing a trafficTarget that only has a configurationName will result in a Route that does not increment either its metadata.generation or its observedGeneration, as new &quot;latest ready&quot; revisions from the Configuration are processed without an update to the Route&#x27;s spec.
diff --git a/docs/dyn/run_v1.namespaces.services.html b/docs/dyn/run_v1.namespaces.services.html
index dd49437..92fbc51 100644
--- a/docs/dyn/run_v1.namespaces.services.html
+++ b/docs/dyn/run_v1.namespaces.services.html
@@ -107,7 +107,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -178,7 +178,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -399,7 +399,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -428,7 +428,7 @@
 Returns:
   An object of the form:
 
-    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -499,7 +499,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -720,7 +720,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -800,7 +800,7 @@
 Returns:
   An object of the form:
 
-    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -871,7 +871,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -1092,7 +1092,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -1137,7 +1137,7 @@
     { # A list of Service resources.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;items&quot;: [ # List of Services.
-    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
       &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -1208,7 +1208,7 @@
           },
           &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
             &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
               { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
                 &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
                   &quot;A String&quot;,
@@ -1429,7 +1429,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -1470,7 +1470,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -1541,7 +1541,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -1762,7 +1762,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -1791,7 +1791,7 @@
 Returns:
   An object of the form:
 
-    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -1862,7 +1862,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -2083,7 +2083,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
diff --git a/docs/dyn/run_v1.projects.locations.configurations.html b/docs/dyn/run_v1.projects.locations.configurations.html
index f51a846..5c4c818 100644
--- a/docs/dyn/run_v1.projects.locations.configurations.html
+++ b/docs/dyn/run_v1.projects.locations.configurations.html
@@ -103,7 +103,7 @@
 Returns:
   An object of the form:
 
-    { # Configuration represents the &quot;floating HEAD&quot; of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration&#x27;s spec. The &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest ready&quot; revision&#x27;s name. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
+    { # Configuration represents the &quot;floating HEAD&quot; of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration&#x27;s spec. The &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest ready&quot; revision&#x27;s name. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#configuration
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Configuration, including name, namespace, labels, and annotations.
@@ -174,7 +174,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -382,7 +382,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # LatestCreatedRevisionName is the last revision that was created from this Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -416,7 +416,7 @@
     { # ListConfigurationsResponse is a list of Configuration resources.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;items&quot;: [ # List of Configurations.
-    { # Configuration represents the &quot;floating HEAD&quot; of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration&#x27;s spec. The &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest ready&quot; revision&#x27;s name. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
+    { # Configuration represents the &quot;floating HEAD&quot; of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration&#x27;s spec. The &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest ready&quot; revision&#x27;s name. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#configuration
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
       &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Configuration, including name, namespace, labels, and annotations.
@@ -487,7 +487,7 @@
           },
           &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
             &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
               { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
                 &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
                   &quot;A String&quot;,
@@ -695,7 +695,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # LatestCreatedRevisionName is the last revision that was created from this Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
diff --git a/docs/dyn/run_v1.projects.locations.domainmappings.html b/docs/dyn/run_v1.projects.locations.domainmappings.html
index 730caa6..23143e8 100644
--- a/docs/dyn/run_v1.projects.locations.domainmappings.html
+++ b/docs/dyn/run_v1.projects.locations.domainmappings.html
@@ -152,7 +152,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;mappedRouteName&quot;: &quot;A String&quot;, # The name of the route that the mapping currently points to.
@@ -225,7 +225,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;mappedRouteName&quot;: &quot;A String&quot;, # The name of the route that the mapping currently points to.
@@ -349,7 +349,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;mappedRouteName&quot;: &quot;A String&quot;, # The name of the route that the mapping currently points to.
@@ -438,7 +438,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;mappedRouteName&quot;: &quot;A String&quot;, # The name of the route that the mapping currently points to.
diff --git a/docs/dyn/run_v1.projects.locations.revisions.html b/docs/dyn/run_v1.projects.locations.revisions.html
index e2837cf..92c61ee 100644
--- a/docs/dyn/run_v1.projects.locations.revisions.html
+++ b/docs/dyn/run_v1.projects.locations.revisions.html
@@ -151,7 +151,7 @@
 Returns:
   An object of the form:
 
-    { # Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
+    { # Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Revision, including name, namespace, labels, and annotations.
@@ -188,7 +188,7 @@
   },
   &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # Spec holds the desired state of the Revision (from the client).
     &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-    &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+    &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
       { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
         &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
           &quot;A String&quot;,
@@ -394,7 +394,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;imageDigest&quot;: &quot;A String&quot;, # ImageDigest holds the resolved digest for the image specified within .Spec.Container.Image. The digest is resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object.
@@ -429,7 +429,7 @@
     { # ListRevisionsResponse is a list of Revision resources.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;items&quot;: [ # List of Revisions.
-    { # Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
+    { # Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
       &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Revision, including name, namespace, labels, and annotations.
@@ -466,7 +466,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # Spec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -672,7 +672,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;imageDigest&quot;: &quot;A String&quot;, # ImageDigest holds the resolved digest for the image specified within .Spec.Container.Image. The digest is resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object.
diff --git a/docs/dyn/run_v1.projects.locations.routes.html b/docs/dyn/run_v1.projects.locations.routes.html
index 7488d3d..e8f8297 100644
--- a/docs/dyn/run_v1.projects.locations.routes.html
+++ b/docs/dyn/run_v1.projects.locations.routes.html
@@ -103,7 +103,7 @@
 Returns:
   An object of the form:
 
-    { # Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for &quot;latest ready&quot; revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the &quot;latest ready&quot; Revision from that Configuration.
+    { # Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for &quot;latest ready&quot; revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the &quot;latest ready&quot; Revision from that Configuration.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case always &quot;Route&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Route, including name, namespace, labels, and annotations.
@@ -161,7 +161,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False. Note that providing a trafficTarget that only has a configurationName will result in a Route that does not increment either its metadata.generation or its observedGeneration, as new &quot;latest ready&quot; revisions from the Configuration are processed without an update to the Route&#x27;s spec.
@@ -204,7 +204,7 @@
     { # ListRoutesResponse is a list of Route resources.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;items&quot;: [ # List of Routes.
-    { # Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for &quot;latest ready&quot; revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the &quot;latest ready&quot; Revision from that Configuration.
+    { # Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for &quot;latest ready&quot; revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the &quot;latest ready&quot; Revision from that Configuration.
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case always &quot;Route&quot;.
       &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Route, including name, namespace, labels, and annotations.
@@ -262,7 +262,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False. Note that providing a trafficTarget that only has a configurationName will result in a Route that does not increment either its metadata.generation or its observedGeneration, as new &quot;latest ready&quot; revisions from the Configuration are processed without an update to the Route&#x27;s spec.
diff --git a/docs/dyn/run_v1.projects.locations.services.html b/docs/dyn/run_v1.projects.locations.services.html
index 79f4a0a..429e849 100644
--- a/docs/dyn/run_v1.projects.locations.services.html
+++ b/docs/dyn/run_v1.projects.locations.services.html
@@ -116,7 +116,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -187,7 +187,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -408,7 +408,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -437,7 +437,7 @@
 Returns:
   An object of the form:
 
-    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -508,7 +508,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -729,7 +729,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -809,7 +809,7 @@
 Returns:
   An object of the form:
 
-    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -880,7 +880,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -1101,7 +1101,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -1194,7 +1194,7 @@
     { # A list of Service resources.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;items&quot;: [ # List of Services.
-    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
       &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -1265,7 +1265,7 @@
           },
           &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
             &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
               { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
                 &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
                   &quot;A String&quot;,
@@ -1486,7 +1486,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+            &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
           },
         ],
         &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -1527,7 +1527,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -1598,7 +1598,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -1819,7 +1819,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
@@ -1848,7 +1848,7 @@
 Returns:
   An object of the form:
 
-    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
+    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
   &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
@@ -1919,7 +1919,7 @@
       },
       &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
         &quot;containerConcurrency&quot;: 42, # Optional. ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
-        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
+        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # (Optional) Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
               &quot;A String&quot;,
@@ -2140,7 +2140,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
+        &quot;type&quot;: &quot;A String&quot;, # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * &quot;Ready&quot;: True when the Resource is ready.
       },
     ],
     &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
diff --git a/docs/dyn/run_v1alpha1.namespaces.jobs.html b/docs/dyn/run_v1alpha1.namespaces.jobs.html
index dd8a519..d0ca340 100644
--- a/docs/dyn/run_v1alpha1.namespaces.jobs.html
+++ b/docs/dyn/run_v1alpha1.namespaces.jobs.html
@@ -359,7 +359,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Required. Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: * &quot;Completed&quot;: True when the Job has successfully completed. * &quot;Started&quot;: True when the Job has successfully started running. * &quot;ResourcesAvailable&quot;: True when underlying resources have been provisioned.
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types include: * &quot;Completed&quot;: True when the Job has successfully completed. * &quot;Started&quot;: True when the Job has successfully started running. * &quot;ResourcesAvailable&quot;: True when underlying resources have been provisioned.
       },
     ],
     &quot;failed&quot;: 42, # Optional. The number of instances which reached phase Failed. +optional
@@ -644,7 +644,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Required. Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: * &quot;Completed&quot;: True when the Job has successfully completed. * &quot;Started&quot;: True when the Job has successfully started running. * &quot;ResourcesAvailable&quot;: True when underlying resources have been provisioned.
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types include: * &quot;Completed&quot;: True when the Job has successfully completed. * &quot;Started&quot;: True when the Job has successfully started running. * &quot;ResourcesAvailable&quot;: True when underlying resources have been provisioned.
       },
     ],
     &quot;failed&quot;: 42, # Optional. The number of instances which reached phase Failed. +optional
@@ -957,7 +957,7 @@
         &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
         &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
         &quot;status&quot;: &quot;A String&quot;, # Required. Status of the condition, one of True, False, Unknown.
-        &quot;type&quot;: &quot;A String&quot;, # Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: * &quot;Completed&quot;: True when the Job has successfully completed. * &quot;Started&quot;: True when the Job has successfully started running. * &quot;ResourcesAvailable&quot;: True when underlying resources have been provisioned.
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types include: * &quot;Completed&quot;: True when the Job has successfully completed. * &quot;Started&quot;: True when the Job has successfully started running. * &quot;ResourcesAvailable&quot;: True when underlying resources have been provisioned.
       },
     ],
     &quot;failed&quot;: 42, # Optional. The number of instances which reached phase Failed. +optional
@@ -1259,7 +1259,7 @@
             &quot;reason&quot;: &quot;A String&quot;, # Optional. One-word CamelCase reason for the condition&#x27;s last transition.
             &quot;severity&quot;: &quot;A String&quot;, # Optional. How to interpret failures of this condition, one of Error, Warning, Info
             &quot;status&quot;: &quot;A String&quot;, # Required. Status of the condition, one of True, False, Unknown.
-            &quot;type&quot;: &quot;A String&quot;, # Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: * &quot;Completed&quot;: True when the Job has successfully completed. * &quot;Started&quot;: True when the Job has successfully started running. * &quot;ResourcesAvailable&quot;: True when underlying resources have been provisioned.
+            &quot;type&quot;: &quot;A String&quot;, # Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types include: * &quot;Completed&quot;: True when the Job has successfully completed. * &quot;Started&quot;: True when the Job has successfully started running. * &quot;ResourcesAvailable&quot;: True when underlying resources have been provisioned.
           },
         ],
         &quot;failed&quot;: 42, # Optional. The number of instances which reached phase Failed. +optional
diff --git a/docs/dyn/runtimeconfig_v1beta1.projects.configs.html b/docs/dyn/runtimeconfig_v1beta1.projects.configs.html
index b7044ad..4fbc327 100644
--- a/docs/dyn/runtimeconfig_v1beta1.projects.configs.html
+++ b/docs/dyn/runtimeconfig_v1beta1.projects.configs.html
@@ -207,7 +207,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.
     { # Associates `members` with a `role`.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -278,7 +278,7 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
     &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.
       { # Associates `members` with a `role`.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
@@ -306,7 +306,7 @@
 Returns:
   An object of the form:
 
-    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
   &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.
     { # Associates `members` with a `role`.
       &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
diff --git a/docs/dyn/servicemanagement_v1.services.configs.html b/docs/dyn/servicemanagement_v1.services.configs.html
index 5c54e43..4976d83 100644
--- a/docs/dyn/servicemanagement_v1.services.configs.html
+++ b/docs/dyn/servicemanagement_v1.services.configs.html
@@ -256,7 +256,7 @@
     &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements. **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
       { # A documentation rule provides information about individual API elements.
         &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if an element is marked as `deprecated`.
-        &quot;description&quot;: &quot;A String&quot;, # The description is the comment in front of the selected proto element, such as a message, a method, a &#x27;service&#x27; definition, or a field.
+        &quot;description&quot;: &quot;A String&quot;, # Description of the selected proto element (e.g. a message, a method, a &#x27;service&#x27; definition, or a field). Defaults to leading &amp; trailing comments taken from the proto source definition of the proto element.
         &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns for any element such as a method, a field, an enum value. Each pattern is a qualified name of the element which may end in &quot;*&quot;, indicating a wildcard. Wildcards are only allowed at the end and for a whole component of the qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern &quot;*&quot; is used.
       },
     ],
@@ -396,7 +396,7 @@
       ],
       &quot;launchStage&quot;: &quot;A String&quot;, # Optional. The launch stage of the monitored resource definition.
       &quot;name&quot;: &quot;A String&quot;, # Optional. The resource name of the monitored resource descriptor: `&quot;projects/{project_id}/monitoredResourceDescriptors/{type}&quot;` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `&quot;monitoredResourceDescriptors/{type}&quot;`.
-      &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL.
+      &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL. For a list of types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/resources) and [Logging resource types](https://cloud.google.com/logging/docs/api/v2/resource-list).
     },
   ],
   &quot;monitoring&quot;: { # Monitoring configuration of the service. The example below shows how to configure monitored resources and metrics for monitoring. In the example, a monitored resource and two metrics are defined. The `library.googleapis.com/book/returned_count` metric is sent to both producer and consumer projects, whereas the `library.googleapis.com/book/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: &quot;Library Branch&quot; description: &quot;A branch of a library.&quot; launch_stage: GA labels: - key: resource_container description: &quot;The Cloud container (ie. project id) for the Branch.&quot; - key: location description: &quot;The location of the library branch.&quot; - key: branch_id description: &quot;The id of the branch.&quot; metrics: - name: library.googleapis.com/book/returned_count display_name: &quot;Books Returned&quot; description: &quot;The count of books that have been returned.&quot; launch_stage: GA metric_kind: DELTA value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; - name: library.googleapis.com/book/num_overdue display_name: &quot;Books Overdue&quot; description: &quot;The current number of overdue books.&quot; launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; monitoring: producer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count consumer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count - library.googleapis.com/book/num_overdue # Monitoring configuration.
@@ -721,7 +721,7 @@
     &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements. **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
       { # A documentation rule provides information about individual API elements.
         &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if an element is marked as `deprecated`.
-        &quot;description&quot;: &quot;A String&quot;, # The description is the comment in front of the selected proto element, such as a message, a method, a &#x27;service&#x27; definition, or a field.
+        &quot;description&quot;: &quot;A String&quot;, # Description of the selected proto element (e.g. a message, a method, a &#x27;service&#x27; definition, or a field). Defaults to leading &amp; trailing comments taken from the proto source definition of the proto element.
         &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns for any element such as a method, a field, an enum value. Each pattern is a qualified name of the element which may end in &quot;*&quot;, indicating a wildcard. Wildcards are only allowed at the end and for a whole component of the qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern &quot;*&quot; is used.
       },
     ],
@@ -861,7 +861,7 @@
       ],
       &quot;launchStage&quot;: &quot;A String&quot;, # Optional. The launch stage of the monitored resource definition.
       &quot;name&quot;: &quot;A String&quot;, # Optional. The resource name of the monitored resource descriptor: `&quot;projects/{project_id}/monitoredResourceDescriptors/{type}&quot;` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `&quot;monitoredResourceDescriptors/{type}&quot;`.
-      &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL.
+      &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL. For a list of types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/resources) and [Logging resource types](https://cloud.google.com/logging/docs/api/v2/resource-list).
     },
   ],
   &quot;monitoring&quot;: { # Monitoring configuration of the service. The example below shows how to configure monitored resources and metrics for monitoring. In the example, a monitored resource and two metrics are defined. The `library.googleapis.com/book/returned_count` metric is sent to both producer and consumer projects, whereas the `library.googleapis.com/book/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: &quot;Library Branch&quot; description: &quot;A branch of a library.&quot; launch_stage: GA labels: - key: resource_container description: &quot;The Cloud container (ie. project id) for the Branch.&quot; - key: location description: &quot;The location of the library branch.&quot; - key: branch_id description: &quot;The id of the branch.&quot; metrics: - name: library.googleapis.com/book/returned_count display_name: &quot;Books Returned&quot; description: &quot;The count of books that have been returned.&quot; launch_stage: GA metric_kind: DELTA value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; - name: library.googleapis.com/book/num_overdue display_name: &quot;Books Overdue&quot; description: &quot;The current number of overdue books.&quot; launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; monitoring: producer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count consumer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count - library.googleapis.com/book/num_overdue # Monitoring configuration.
@@ -1198,7 +1198,7 @@
     &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements. **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
       { # A documentation rule provides information about individual API elements.
         &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if an element is marked as `deprecated`.
-        &quot;description&quot;: &quot;A String&quot;, # The description is the comment in front of the selected proto element, such as a message, a method, a &#x27;service&#x27; definition, or a field.
+        &quot;description&quot;: &quot;A String&quot;, # Description of the selected proto element (e.g. a message, a method, a &#x27;service&#x27; definition, or a field). Defaults to leading &amp; trailing comments taken from the proto source definition of the proto element.
         &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns for any element such as a method, a field, an enum value. Each pattern is a qualified name of the element which may end in &quot;*&quot;, indicating a wildcard. Wildcards are only allowed at the end and for a whole component of the qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern &quot;*&quot; is used.
       },
     ],
@@ -1338,7 +1338,7 @@
       ],
       &quot;launchStage&quot;: &quot;A String&quot;, # Optional. The launch stage of the monitored resource definition.
       &quot;name&quot;: &quot;A String&quot;, # Optional. The resource name of the monitored resource descriptor: `&quot;projects/{project_id}/monitoredResourceDescriptors/{type}&quot;` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `&quot;monitoredResourceDescriptors/{type}&quot;`.
-      &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL.
+      &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL. For a list of types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/resources) and [Logging resource types](https://cloud.google.com/logging/docs/api/v2/resource-list).
     },
   ],
   &quot;monitoring&quot;: { # Monitoring configuration of the service. The example below shows how to configure monitored resources and metrics for monitoring. In the example, a monitored resource and two metrics are defined. The `library.googleapis.com/book/returned_count` metric is sent to both producer and consumer projects, whereas the `library.googleapis.com/book/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: &quot;Library Branch&quot; description: &quot;A branch of a library.&quot; launch_stage: GA labels: - key: resource_container description: &quot;The Cloud container (ie. project id) for the Branch.&quot; - key: location description: &quot;The location of the library branch.&quot; - key: branch_id description: &quot;The id of the branch.&quot; metrics: - name: library.googleapis.com/book/returned_count display_name: &quot;Books Returned&quot; description: &quot;The count of books that have been returned.&quot; launch_stage: GA metric_kind: DELTA value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; - name: library.googleapis.com/book/num_overdue display_name: &quot;Books Overdue&quot; description: &quot;The current number of overdue books.&quot; launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; monitoring: producer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count consumer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count - library.googleapis.com/book/num_overdue # Monitoring configuration.
@@ -1675,7 +1675,7 @@
         &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements. **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
           { # A documentation rule provides information about individual API elements.
             &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if an element is marked as `deprecated`.
-            &quot;description&quot;: &quot;A String&quot;, # The description is the comment in front of the selected proto element, such as a message, a method, a &#x27;service&#x27; definition, or a field.
+            &quot;description&quot;: &quot;A String&quot;, # Description of the selected proto element (e.g. a message, a method, a &#x27;service&#x27; definition, or a field). Defaults to leading &amp; trailing comments taken from the proto source definition of the proto element.
             &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns for any element such as a method, a field, an enum value. Each pattern is a qualified name of the element which may end in &quot;*&quot;, indicating a wildcard. Wildcards are only allowed at the end and for a whole component of the qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern &quot;*&quot; is used.
           },
         ],
@@ -1815,7 +1815,7 @@
           ],
           &quot;launchStage&quot;: &quot;A String&quot;, # Optional. The launch stage of the monitored resource definition.
           &quot;name&quot;: &quot;A String&quot;, # Optional. The resource name of the monitored resource descriptor: `&quot;projects/{project_id}/monitoredResourceDescriptors/{type}&quot;` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `&quot;monitoredResourceDescriptors/{type}&quot;`.
-          &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL.
+          &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL. For a list of types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/resources) and [Logging resource types](https://cloud.google.com/logging/docs/api/v2/resource-list).
         },
       ],
       &quot;monitoring&quot;: { # Monitoring configuration of the service. The example below shows how to configure monitored resources and metrics for monitoring. In the example, a monitored resource and two metrics are defined. The `library.googleapis.com/book/returned_count` metric is sent to both producer and consumer projects, whereas the `library.googleapis.com/book/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: &quot;Library Branch&quot; description: &quot;A branch of a library.&quot; launch_stage: GA labels: - key: resource_container description: &quot;The Cloud container (ie. project id) for the Branch.&quot; - key: location description: &quot;The location of the library branch.&quot; - key: branch_id description: &quot;The id of the branch.&quot; metrics: - name: library.googleapis.com/book/returned_count display_name: &quot;Books Returned&quot; description: &quot;The count of books that have been returned.&quot; launch_stage: GA metric_kind: DELTA value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; - name: library.googleapis.com/book/num_overdue display_name: &quot;Books Overdue&quot; description: &quot;The current number of overdue books.&quot; launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; monitoring: producer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count consumer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count - library.googleapis.com/book/num_overdue # Monitoring configuration.
diff --git a/docs/dyn/servicemanagement_v1.services.html b/docs/dyn/servicemanagement_v1.services.html
index 2558f40..10b9e72 100644
--- a/docs/dyn/servicemanagement_v1.services.html
+++ b/docs/dyn/servicemanagement_v1.services.html
@@ -451,7 +451,7 @@
     &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements. **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
       { # A documentation rule provides information about individual API elements.
         &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if an element is marked as `deprecated`.
-        &quot;description&quot;: &quot;A String&quot;, # The description is the comment in front of the selected proto element, such as a message, a method, a &#x27;service&#x27; definition, or a field.
+        &quot;description&quot;: &quot;A String&quot;, # Description of the selected proto element (e.g. a message, a method, a &#x27;service&#x27; definition, or a field). Defaults to leading &amp; trailing comments taken from the proto source definition of the proto element.
         &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns for any element such as a method, a field, an enum value. Each pattern is a qualified name of the element which may end in &quot;*&quot;, indicating a wildcard. Wildcards are only allowed at the end and for a whole component of the qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern &quot;*&quot; is used.
       },
     ],
@@ -591,7 +591,7 @@
       ],
       &quot;launchStage&quot;: &quot;A String&quot;, # Optional. The launch stage of the monitored resource definition.
       &quot;name&quot;: &quot;A String&quot;, # Optional. The resource name of the monitored resource descriptor: `&quot;projects/{project_id}/monitoredResourceDescriptors/{type}&quot;` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `&quot;monitoredResourceDescriptors/{type}&quot;`.
-      &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL.
+      &quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. For example, the type `&quot;cloudsql_database&quot;` represents databases in Google Cloud SQL. For a list of types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/resources) and [Logging resource types](https://cloud.google.com/logging/docs/api/v2/resource-list).
     },
   ],
   &quot;monitoring&quot;: { # Monitoring configuration of the service. The example below shows how to configure monitored resources and metrics for monitoring. In the example, a monitored resource and two metrics are defined. The `library.googleapis.com/book/returned_count` metric is sent to both producer and consumer projects, whereas the `library.googleapis.com/book/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: &quot;Library Branch&quot; description: &quot;A branch of a library.&quot; launch_stage: GA labels: - key: resource_container description: &quot;The Cloud container (ie. project id) for the Branch.&quot; - key: location description: &quot;The location of the library branch.&quot; - key: branch_id description: &quot;The id of the branch.&quot; metrics: - name: library.googleapis.com/book/returned_count display_name: &quot;Books Returned&quot; description: &quot;The count of books that have been returned.&quot; launch_stage: GA metric_kind: DELTA value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; - name: library.googleapis.com/book/num_overdue display_name: &quot;Books Overdue&quot; description: &quot;The current number of overdue books.&quot; launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: &quot;1&quot; labels: - key: customer_id description: &quot;The id of the customer.&quot; monitoring: producer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count consumer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count - library.googleapis.com/book/num_overdue # Monitoring configuration.
diff --git a/docs/dyn/servicenetworking_v1.services.html b/docs/dyn/servicenetworking_v1.services.html
index c779b9c..b8d9933 100644
--- a/docs/dyn/servicenetworking_v1.services.html
+++ b/docs/dyn/servicenetworking_v1.services.html
@@ -132,6 +132,7 @@
   &quot;consumerNetwork&quot;: &quot;A String&quot;, # Required. The name of the service consumer&#x27;s VPC network. The network must have an existing private connection that was provisioned through the connections.create method. The name must be in the following format: `projects/{project}/global/networks/{network}`, where {project} is a project number, such as `12345`. {network} is the name of a VPC network in the project.
   &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the subnet.
   &quot;ipPrefixLength&quot;: 42, # Required. The prefix length of the subnet&#x27;s IP address range. Use CIDR range notation, such as `30` to provision a subnet with an `x.x.x.x/30` CIDR range. The IP address range is drawn from a pool of available ranges in the service consumer&#x27;s allocated range.
+  &quot;privateIpv6GoogleAccess&quot;: &quot;A String&quot;, # Optional. The private IPv6 google access type for the VMs in this subnet. For information about the access types that can be set using this field, see [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) in the Compute API documentation.
   &quot;region&quot;: &quot;A String&quot;, # Required. The name of a [region](/compute/docs/regions-zones) for the subnet, such `europe-west1`.
   &quot;requestedAddress&quot;: &quot;A String&quot;, # Optional. The starting address of a range. The address must be a valid IPv4 address in the x.x.x.x format. This value combined with the IP prefix range is the CIDR range for the subnet. The range must be within the allocated range that is assigned to the private connection. If the CIDR range isn&#x27;t available, the call fails.
   &quot;requestedRanges&quot;: [ # Optional. The name of one or more allocated IP address ranges associated with this private service access connection. If no range names are provided all ranges associated with this connection will be considered. If a CIDR range with the specified IP prefix length is not available within these ranges, the call fails.
diff --git a/docs/dyn/servicenetworking_v1.services.projects.global_.networks.peeredDnsDomains.html b/docs/dyn/servicenetworking_v1.services.projects.global_.networks.peeredDnsDomains.html
index d44692b..dad2992 100644
--- a/docs/dyn/servicenetworking_v1.services.projects.global_.networks.peeredDnsDomains.html
+++ b/docs/dyn/servicenetworking_v1.services.projects.global_.networks.peeredDnsDomains.html
@@ -102,7 +102,7 @@
     The object takes the form of:
 
 { # DNS domain suffix for which requests originating in the producer VPC network are resolved in the associated consumer VPC network.
-  &quot;dnsSuffix&quot;: &quot;A String&quot;, # The DNS domain name suffix e.g. `example.com.`.
+  &quot;dnsSuffix&quot;: &quot;A String&quot;, # The DNS domain name suffix e.g. `example.com.`. Cloud DNS requires that a DNS suffix ends with a trailing dot.
   &quot;name&quot;: &quot;A String&quot;, # User assigned name for this resource. Must be unique within the consumer network. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
 }
 
@@ -187,7 +187,7 @@
     { # Response to list peered DNS domains for a given connection.
   &quot;peeredDnsDomains&quot;: [ # The list of peered DNS domains.
     { # DNS domain suffix for which requests originating in the producer VPC network are resolved in the associated consumer VPC network.
-      &quot;dnsSuffix&quot;: &quot;A String&quot;, # The DNS domain name suffix e.g. `example.com.`.
+      &quot;dnsSuffix&quot;: &quot;A String&quot;, # The DNS domain name suffix e.g. `example.com.`. Cloud DNS requires that a DNS suffix ends with a trailing dot.
       &quot;name&quot;: &quot;A String&quot;, # User assigned name for this resource. Must be unique within the consumer network. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
     },
   ],
diff --git a/docs/dyn/sts_v1.v1.html b/docs/dyn/sts_v1.v1.html
index 0ddf0a0..a68acd8 100644
--- a/docs/dyn/sts_v1.v1.html
+++ b/docs/dyn/sts_v1.v1.html
@@ -78,9 +78,6 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
-  <code><a href="#introspect">introspect(body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets information about a Google OAuth 2.0 access token issued by the Google Cloud [Security Token Service API](https://cloud.google.com/iam/docs/reference/sts/rest).</p>
-<p class="toc_element">
   <code><a href="#token">token(body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Exchanges a credential for a Google OAuth 2.0 access token. The token asserts an external identity within a workload identity pool, or it applies a Credential Access Boundary to a Google access token. When you call this method, do not send the `Authorization` HTTP header in the request. This method does not require the `Authorization` header, and using the header can cause the request to fail.</p>
 <h3>Method Details</h3>
@@ -90,39 +87,6 @@
 </div>
 
 <div class="method">
-    <code class="details" id="introspect">introspect(body=None, x__xgafv=None)</code>
-  <pre>Gets information about a Google OAuth 2.0 access token issued by the Google Cloud [Security Token Service API](https://cloud.google.com/iam/docs/reference/sts/rest).
-
-Args:
-  body: object, The request body.
-    The object takes the form of:
-
-{ # Request message for IntrospectToken.
-  &quot;token&quot;: &quot;A String&quot;, # Required. The OAuth 2.0 security token issued by the Security Token Service API.
-  &quot;tokenTypeHint&quot;: &quot;A String&quot;, # Optional. The type of the given token. Supported values are `urn:ietf:params:oauth:token-type:access_token` and `access_token`.
-}
-
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Response message for IntrospectToken.
-  &quot;active&quot;: True or False, # A boolean value that indicates whether the provided access token is currently active.
-  &quot;client_id&quot;: &quot;A String&quot;, # The client identifier for the OAuth 2.0 client that requested the provided token.
-  &quot;exp&quot;: &quot;A String&quot;, # The expiration timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token will expire.
-  &quot;iat&quot;: &quot;A String&quot;, # The issued timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token was originally issued.
-  &quot;iss&quot;: &quot;A String&quot;, # The issuer of the provided token.
-  &quot;scope&quot;: &quot;A String&quot;, # A list of scopes associated with the provided token.
-  &quot;sub&quot;: &quot;A String&quot;, # The unique user ID associated with the provided token. For Google Accounts, this value is based on the Google Account&#x27;s user ID. For federated identities, this value is based on the identity pool ID and the value of the mapped `google.subject` attribute.
-  &quot;username&quot;: &quot;A String&quot;, # The human-readable identifier for the token principal subject. For example, if the provided token is associated with a workload identity pool, this field contains a value in the following format: `principal://iam.googleapis.com/projects//locations/global/workloadIdentityPools//subject/`
-}</pre>
-</div>
-
-<div class="method">
     <code class="details" id="token">token(body=None, x__xgafv=None)</code>
   <pre>Exchanges a credential for a Google OAuth 2.0 access token. The token asserts an external identity within a workload identity pool, or it applies a Credential Access Boundary to a Google access token. When you call this method, do not send the `Authorization` HTTP header in the request. This method does not require the `Authorization` header, and using the header can cause the request to fail.
 
diff --git a/docs/dyn/youtube_v3.liveChatMessages.html b/docs/dyn/youtube_v3.liveChatMessages.html
index 404506f..7f4884b 100644
--- a/docs/dyn/youtube_v3.liveChatMessages.html
+++ b/docs/dyn/youtube_v3.liveChatMessages.html
@@ -131,8 +131,8 @@
   &quot;etag&quot;: &quot;A String&quot;, # Etag of this resource.
   &quot;id&quot;: &quot;A String&quot;, # The ID that YouTube assigns to uniquely identify the message.
   &quot;kind&quot;: &quot;youtube#liveChatMessage&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;youtube#liveChatMessage&quot;.
-  &quot;snippet&quot;: { # The snippet object contains basic details about the message.
-    &quot;authorChannelId&quot;: &quot;A String&quot;, # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase
+  &quot;snippet&quot;: { # Next ID: 29 # The snippet object contains basic details about the message.
+    &quot;authorChannelId&quot;: &quot;A String&quot;, # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase superStickerEvent - the user that made the purchase
     &quot;displayMessage&quot;: &quot;A String&quot;, # Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent.
     &quot;fanFundingEventDetails&quot;: { # Details about the funding event, this is only set if the type is &#x27;fanFundingEvent&#x27;.
       &quot;amountDisplayString&quot;: &quot;A String&quot;, # A rendered string that displays the fund amount and currency to the user.
@@ -206,8 +206,8 @@
   &quot;etag&quot;: &quot;A String&quot;, # Etag of this resource.
   &quot;id&quot;: &quot;A String&quot;, # The ID that YouTube assigns to uniquely identify the message.
   &quot;kind&quot;: &quot;youtube#liveChatMessage&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;youtube#liveChatMessage&quot;.
-  &quot;snippet&quot;: { # The snippet object contains basic details about the message.
-    &quot;authorChannelId&quot;: &quot;A String&quot;, # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase
+  &quot;snippet&quot;: { # Next ID: 29 # The snippet object contains basic details about the message.
+    &quot;authorChannelId&quot;: &quot;A String&quot;, # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase superStickerEvent - the user that made the purchase
     &quot;displayMessage&quot;: &quot;A String&quot;, # Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent.
     &quot;fanFundingEventDetails&quot;: { # Details about the funding event, this is only set if the type is &#x27;fanFundingEvent&#x27;.
       &quot;amountDisplayString&quot;: &quot;A String&quot;, # A rendered string that displays the fund amount and currency to the user.
@@ -297,8 +297,8 @@
       &quot;etag&quot;: &quot;A String&quot;, # Etag of this resource.
       &quot;id&quot;: &quot;A String&quot;, # The ID that YouTube assigns to uniquely identify the message.
       &quot;kind&quot;: &quot;youtube#liveChatMessage&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;youtube#liveChatMessage&quot;.
-      &quot;snippet&quot;: { # The snippet object contains basic details about the message.
-        &quot;authorChannelId&quot;: &quot;A String&quot;, # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase
+      &quot;snippet&quot;: { # Next ID: 29 # The snippet object contains basic details about the message.
+        &quot;authorChannelId&quot;: &quot;A String&quot;, # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase superStickerEvent - the user that made the purchase
         &quot;displayMessage&quot;: &quot;A String&quot;, # Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent.
         &quot;fanFundingEventDetails&quot;: { # Details about the funding event, this is only set if the type is &#x27;fanFundingEvent&#x27;.
           &quot;amountDisplayString&quot;: &quot;A String&quot;, # A rendered string that displays the fund amount and currency to the user.
diff --git a/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json b/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
index 519d376..34eea7b 100644
--- a/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
+++ b/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
@@ -139,7 +139,7 @@
       }
     }
   },
-  "revision": "20210723",
+  "revision": "20210809",
   "rootUrl": "https://abusiveexperiencereport.googleapis.com/",
   "schemas": {
     "SiteSummaryResponse": {
diff --git a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
index 6717d09..9f59385 100644
--- a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
+++ b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
@@ -115,7 +115,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210814",
   "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/",
   "schemas": {
     "AmpUrl": {
diff --git a/googleapiclient/discovery_cache/documents/accessapproval.v1.json b/googleapiclient/discovery_cache/documents/accessapproval.v1.json
index 99030dd..d2fbde2 100644
--- a/googleapiclient/discovery_cache/documents/accessapproval.v1.json
+++ b/googleapiclient/discovery_cache/documents/accessapproval.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -754,7 +754,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210813",
   "rootUrl": "https://accessapproval.googleapis.com/",
   "schemas": {
     "AccessApprovalSettings": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.2.json b/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.2.json
index 8ce6dc4..49e78d1 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.2.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.2.json
@@ -15,7 +15,7 @@
   "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/HZZPwnIeAAFYYl8rl9V_hSW2pO0\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/5zRjPUGv2mBJ1B5Pi974NW_Asxk\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
     "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
@@ -259,7 +259,7 @@
       }
     }
   },
-  "revision": "20210808",
+  "revision": "20210815",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.3.json b/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.3.json
index 2205513..ce0014b 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.3.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.3.json
@@ -15,7 +15,7 @@
   "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/b-tin2Zp8AUX8vgd4BCYL_nvJSQ\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/NOgo5Rz2N67ZT2NXIcz-dCGvAbI\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
     "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
@@ -699,7 +699,7 @@
       }
     }
   },
-  "revision": "20210808",
+  "revision": "20210815",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.4.json b/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.4.json
index b7a6bc3..90eddb8 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.4.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer.v1.4.json
@@ -15,7 +15,7 @@
   "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/WhC_dBkZxvr97gda-ikYB-4I3xs\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/28H_ClrLhezfMe9hzMrqdyiMlfE\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
     "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
@@ -1255,7 +1255,7 @@
       }
     }
   },
-  "revision": "20210808",
+  "revision": "20210815",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
index 5d0122f..165e662 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
@@ -2568,7 +2568,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210814",
   "rootUrl": "https://adexchangebuyer.googleapis.com/",
   "schemas": {
     "AbsoluteDateRange": {
diff --git a/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json b/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
index 5f97ed1..4b34727 100644
--- a/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
+++ b/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
@@ -138,7 +138,7 @@
       }
     }
   },
-  "revision": "20210723",
+  "revision": "20210809",
   "rootUrl": "https://adexperiencereport.googleapis.com/",
   "schemas": {
     "PlatformSummary": {
diff --git a/googleapiclient/discovery_cache/documents/admob.v1.json b/googleapiclient/discovery_cache/documents/admob.v1.json
index c20a177..5bc6cd8 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210816",
   "rootUrl": "https://admob.googleapis.com/",
   "schemas": {
     "AdUnit": {
diff --git a/googleapiclient/discovery_cache/documents/admob.v1beta.json b/googleapiclient/discovery_cache/documents/admob.v1beta.json
index 6ba4de7..663b3e6 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1beta.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210816",
   "rootUrl": "https://admob.googleapis.com/",
   "schemas": {
     "AdUnit": {
diff --git a/googleapiclient/discovery_cache/documents/adsense.v2.json b/googleapiclient/discovery_cache/documents/adsense.v2.json
index 65372c8..a150658 100644
--- a/googleapiclient/discovery_cache/documents/adsense.v2.json
+++ b/googleapiclient/discovery_cache/documents/adsense.v2.json
@@ -1567,7 +1567,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210814",
   "rootUrl": "https://adsense.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json b/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json
index 0208bfc..fce0836 100644
--- a/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json
@@ -423,7 +423,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210810",
   "rootUrl": "https://alertcenter.googleapis.com/",
   "schemas": {
     "AccountSuspensionDetails": {
diff --git a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
index 00ea246..598bd4f 100644
--- a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
@@ -3092,7 +3092,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210813",
   "rootUrl": "https://analyticsadmin.googleapis.com/",
   "schemas": {
     "GoogleAnalyticsAdminV1alphaAccount": {
diff --git a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
index 139911e..24a9941 100644
--- a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
@@ -284,7 +284,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://analyticsdata.googleapis.com/",
   "schemas": {
     "BatchRunPivotReportsRequest": {
@@ -1432,7 +1432,7 @@
         },
         "dimensionFilter": {
           "$ref": "FilterExpression",
-          "description": "The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter."
+          "description": "Dimension filters allow you to ask for only specific dimension values in the report. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter."
         },
         "dimensions": {
           "description": "The dimensions requested and displayed.",
@@ -1473,7 +1473,7 @@
         },
         "metricFilter": {
           "$ref": "FilterExpression",
-          "description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter."
+          "description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions cannot be used in this filter."
         },
         "metrics": {
           "description": "The metrics requested and displayed.",
diff --git a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
index f11e73d..95472d5 100644
--- a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
+++ b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
@@ -825,7 +825,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://androiddeviceprovisioning.googleapis.com/",
   "schemas": {
     "ClaimDeviceRequest": {
diff --git a/googleapiclient/discovery_cache/documents/androidenterprise.v1.json b/googleapiclient/discovery_cache/documents/androidenterprise.v1.json
index a706268..3a0d3b8 100644
--- a/googleapiclient/discovery_cache/documents/androidenterprise.v1.json
+++ b/googleapiclient/discovery_cache/documents/androidenterprise.v1.json
@@ -2610,7 +2610,7 @@
       }
     }
   },
-  "revision": "20210805",
+  "revision": "20210812",
   "rootUrl": "https://androidenterprise.googleapis.com/",
   "schemas": {
     "Administrator": {
diff --git a/googleapiclient/discovery_cache/documents/androidmanagement.v1.json b/googleapiclient/discovery_cache/documents/androidmanagement.v1.json
index 916a0eb..2a74415 100644
--- a/googleapiclient/discovery_cache/documents/androidmanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/androidmanagement.v1.json
@@ -1004,7 +1004,7 @@
       }
     }
   },
-  "revision": "20210726",
+  "revision": "20210809",
   "rootUrl": "https://androidmanagement.googleapis.com/",
   "schemas": {
     "AdvancedSecurityOverrides": {
diff --git a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
index d1778e4..401e2a4 100644
--- a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
+++ b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
@@ -1999,7 +1999,7 @@
     "orders": {
       "methods": {
         "refund": {
-          "description": "Refund a user's subscription or in-app purchase order.",
+          "description": "Refunds a user's subscription or in-app purchase order. Orders older than 1 year cannot be refunded.",
           "flatPath": "androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund",
           "httpMethod": "POST",
           "id": "androidpublisher.orders.refund",
@@ -2681,7 +2681,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210814",
   "rootUrl": "https://androidpublisher.googleapis.com/",
   "schemas": {
     "Apk": {
diff --git a/googleapiclient/discovery_cache/documents/apigateway.v1.json b/googleapiclient/discovery_cache/documents/apigateway.v1.json
index a1dd153..86bae58 100644
--- a/googleapiclient/discovery_cache/documents/apigateway.v1.json
+++ b/googleapiclient/discovery_cache/documents/apigateway.v1.json
@@ -1083,7 +1083,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210802",
   "rootUrl": "https://apigateway.googleapis.com/",
   "schemas": {
     "ApigatewayApi": {
diff --git a/googleapiclient/discovery_cache/documents/apigateway.v1beta.json b/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
index 9a7ded8..b7e60e5 100644
--- a/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
@@ -1083,7 +1083,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210802",
   "rootUrl": "https://apigateway.googleapis.com/",
   "schemas": {
     "ApigatewayApi": {
diff --git a/googleapiclient/discovery_cache/documents/apigee.v1.json b/googleapiclient/discovery_cache/documents/apigee.v1.json
index f64f60d..b7914d1 100644
--- a/googleapiclient/discovery_cache/documents/apigee.v1.json
+++ b/googleapiclient/discovery_cache/documents/apigee.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -3905,6 +3905,219 @@
                 }
               }
             },
+            "archiveDeployments": {
+              "methods": {
+                "create": {
+                  "description": "Creates a new ArchiveDeployment.",
+                  "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments",
+                  "httpMethod": "POST",
+                  "id": "apigee.organizations.environments.archiveDeployments.create",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "parent": {
+                      "description": "Required. The Environment this Archive Deployment will be created in.",
+                      "location": "path",
+                      "pattern": "^organizations/[^/]+/environments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+parent}/archiveDeployments",
+                  "request": {
+                    "$ref": "GoogleCloudApigeeV1ArchiveDeployment"
+                  },
+                  "response": {
+                    "$ref": "GoogleLongrunningOperation"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "delete": {
+                  "description": "Deletes an archive deployment.",
+                  "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}",
+                  "httpMethod": "DELETE",
+                  "id": "apigee.organizations.environments.archiveDeployments.delete",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.",
+                      "location": "path",
+                      "pattern": "^organizations/[^/]+/environments/[^/]+/archiveDeployments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}",
+                  "response": {
+                    "$ref": "GoogleProtobufEmpty"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "generateDownloadUrl": {
+                  "description": "Generates a signed URL for downloading the original zip file used to create an Archive Deployment. The URL is only valid for a limited period and should be used within minutes after generation. Each call returns a new upload URL.",
+                  "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}:generateDownloadUrl",
+                  "httpMethod": "POST",
+                  "id": "apigee.organizations.environments.archiveDeployments.generateDownloadUrl",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. The name of the Archive Deployment you want to download.",
+                      "location": "path",
+                      "pattern": "^organizations/[^/]+/environments/[^/]+/archiveDeployments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}:generateDownloadUrl",
+                  "request": {
+                    "$ref": "GoogleCloudApigeeV1GenerateDownloadUrlRequest"
+                  },
+                  "response": {
+                    "$ref": "GoogleCloudApigeeV1GenerateDownloadUrlResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "generateUploadUrl": {
+                  "description": "Generates a signed URL for uploading an Archive zip file to Google Cloud Storage. Once the upload is complete, the signed URL should be passed to CreateArchiveDeployment. When uploading to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * Source file size should not exceed 1GB limit. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` * `x-goog-content-length-range: 0,1073741824` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN`",
+                  "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments:generateUploadUrl",
+                  "httpMethod": "POST",
+                  "id": "apigee.organizations.environments.archiveDeployments.generateUploadUrl",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "parent": {
+                      "description": "Required. The organization and environment to upload to.",
+                      "location": "path",
+                      "pattern": "^organizations/[^/]+/environments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+parent}/archiveDeployments:generateUploadUrl",
+                  "request": {
+                    "$ref": "GoogleCloudApigeeV1GenerateUploadUrlRequest"
+                  },
+                  "response": {
+                    "$ref": "GoogleCloudApigeeV1GenerateUploadUrlResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "get": {
+                  "description": "Gets the specified ArchiveDeployment.",
+                  "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}",
+                  "httpMethod": "GET",
+                  "id": "apigee.organizations.environments.archiveDeployments.get",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.",
+                      "location": "path",
+                      "pattern": "^organizations/[^/]+/environments/[^/]+/archiveDeployments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}",
+                  "response": {
+                    "$ref": "GoogleCloudApigeeV1ArchiveDeployment"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "list": {
+                  "description": "Lists the ArchiveDeployments in the specified Environment.",
+                  "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments",
+                  "httpMethod": "GET",
+                  "id": "apigee.organizations.environments.archiveDeployments.list",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "filter": {
+                      "description": "Optional. An optional query used to return a subset of Archive Deployments using the semantics defined in https://google.aip.dev/160.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "pageSize": {
+                      "description": "Optional. Maximum number of Archive Deployments to return. If unspecified, at most 25 deployments will be returned.",
+                      "format": "int32",
+                      "location": "query",
+                      "type": "integer"
+                    },
+                    "pageToken": {
+                      "description": "Optional. Page token, returned from a previous ListArchiveDeployments call, that you can use to retrieve the next page.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "description": "Required. Name of the Environment for which to list Archive Deployments in the format: `organizations/{org}/environments/{env}`.",
+                      "location": "path",
+                      "pattern": "^organizations/[^/]+/environments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+parent}/archiveDeployments",
+                  "response": {
+                    "$ref": "GoogleCloudApigeeV1ListArchiveDeploymentsResponse"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
+                "patch": {
+                  "description": "Updates an existing ArchiveDeployment. Labels can modified but most of the other fields are not modifiable.",
+                  "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}",
+                  "httpMethod": "PATCH",
+                  "id": "apigee.organizations.environments.archiveDeployments.patch",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.",
+                      "location": "path",
+                      "pattern": "^organizations/[^/]+/environments/[^/]+/archiveDeployments/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    },
+                    "updateMask": {
+                      "description": "Required. The list of fields to be updated.",
+                      "format": "google-fieldmask",
+                      "location": "query",
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}",
+                  "request": {
+                    "$ref": "GoogleCloudApigeeV1ArchiveDeployment"
+                  },
+                  "response": {
+                    "$ref": "GoogleCloudApigeeV1ArchiveDeployment"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                }
+              }
+            },
             "caches": {
               "methods": {
                 "delete": {
@@ -7055,7 +7268,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://apigee.googleapis.com/",
   "schemas": {
     "EdgeConfigstoreBundleBadBundle": {
@@ -7675,6 +7888,45 @@
       },
       "type": "object"
     },
+    "GoogleCloudApigeeV1ArchiveDeployment": {
+      "description": "Archive Deployment information.",
+      "id": "GoogleCloudApigeeV1ArchiveDeployment",
+      "properties": {
+        "createdAt": {
+          "description": "Output only. The time at which the Archive Deployment was created in milliseconds since the epoch.",
+          "format": "int64",
+          "readOnly": true,
+          "type": "string"
+        },
+        "gcsUri": {
+          "description": "Input only. The Google Cloud Storage signed URL returned from GenerateUploadUrl and used to upload the Archive zip file.",
+          "type": "string"
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.",
+          "type": "object"
+        },
+        "name": {
+          "description": "Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.",
+          "type": "string"
+        },
+        "operation": {
+          "description": "Output only. A reference to the LRO that created this Archive Deployment in the following format: `organizations/{org}/operations/{id}`",
+          "readOnly": true,
+          "type": "string"
+        },
+        "updatedAt": {
+          "description": "Output only. The time at which the Archive Deployment was updated in milliseconds since the epoch.",
+          "format": "int64",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudApigeeV1AsyncQuery": {
       "id": "GoogleCloudApigeeV1AsyncQuery",
       "properties": {
@@ -8959,12 +9211,40 @@
     "GoogleCloudApigeeV1Environment": {
       "id": "GoogleCloudApigeeV1Environment",
       "properties": {
+        "apiProxyType": {
+          "description": "Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed.",
+          "enum": [
+            "API_PROXY_TYPE_UNSPECIFIED",
+            "PROGRAMMABLE",
+            "CONFIGURABLE"
+          ],
+          "enumDescriptions": [
+            "API proxy type not specified.",
+            "Programmable API Proxies enable you to develop APIs with highly flexible behavior using bundled policy configuration and one or more programming languages to describe complex sequential and/or conditional flows of logic.",
+            "Configurable API Proxies enable you to develop efficient APIs using simple configuration while complex execution control flow logic is handled by Apigee. This type only works with the ARCHIVE deployment type and cannot be combined with the PROXY deployment type."
+          ],
+          "type": "string"
+        },
         "createdAt": {
           "description": "Output only. Creation time of this environment as milliseconds since epoch.",
           "format": "int64",
           "readOnly": true,
           "type": "string"
         },
+        "deploymentType": {
+          "description": "Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers",
+          "enum": [
+            "DEPLOYMENT_TYPE_UNSPECIFIED",
+            "PROXY",
+            "ARCHIVE"
+          ],
+          "enumDescriptions": [
+            "Deployment type not specified.",
+            "Proxy deployment enables you to develop and deploy API proxies using Apigee on Google Cloud. This cannot currently be combined with the CONFIGURABLE API proxy type.",
+            "Archive deployment enables you to develop API proxies locally then deploy an archive of your API proxy configuration to an environment in Apigee on Google Cloud. You will be prevented from performing a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment."
+          ],
+          "type": "string"
+        },
         "description": {
           "description": "Optional. Description of the environment.",
           "type": "string"
@@ -9012,6 +9292,10 @@
     "GoogleCloudApigeeV1EnvironmentConfig": {
       "id": "GoogleCloudApigeeV1EnvironmentConfig",
       "properties": {
+        "arcConfigLocation": {
+          "description": "The location for the config blob of API Runtime Control, aka Envoy Adapter, for op-based authentication as a URI, e.g. a Cloud Storage URI. This is only used by Envoy-based gateways.",
+          "type": "string"
+        },
         "createTime": {
           "description": "Time that the environment configuration was created.",
           "format": "google-datetime",
@@ -9049,6 +9333,10 @@
           },
           "type": "array"
         },
+        "gatewayConfigLocation": {
+          "description": "The location for the gateway config blob as a URI, e.g. a Cloud Storage URI. This is only used by Envoy-based gateways.",
+          "type": "string"
+        },
         "keystores": {
           "description": "List of keystores in the environment.",
           "items": {
@@ -9341,6 +9629,40 @@
       },
       "type": "object"
     },
+    "GoogleCloudApigeeV1GenerateDownloadUrlRequest": {
+      "description": "Request for GenerateDownloadUrl method.",
+      "id": "GoogleCloudApigeeV1GenerateDownloadUrlRequest",
+      "properties": {},
+      "type": "object"
+    },
+    "GoogleCloudApigeeV1GenerateDownloadUrlResponse": {
+      "description": "Response for GenerateDownloadUrl method.",
+      "id": "GoogleCloudApigeeV1GenerateDownloadUrlResponse",
+      "properties": {
+        "downloadUri": {
+          "description": "The Google Cloud Storage signed URL that can be used to download the Archive zip file.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudApigeeV1GenerateUploadUrlRequest": {
+      "description": "Request for GenerateUploadUrl method.",
+      "id": "GoogleCloudApigeeV1GenerateUploadUrlRequest",
+      "properties": {},
+      "type": "object"
+    },
+    "GoogleCloudApigeeV1GenerateUploadUrlResponse": {
+      "description": "Response for GenerateUploadUrl method.",
+      "id": "GoogleCloudApigeeV1GenerateUploadUrlResponse",
+      "properties": {
+        "uploadUri": {
+          "description": "The Google Cloud Storage signed URL that can be used to upload a new Archive zip file.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudApigeeV1GetSyncAuthorizationRequest": {
       "description": "Request for GetSyncAuthorization.",
       "id": "GoogleCloudApigeeV1GetSyncAuthorizationRequest",
@@ -9754,6 +10076,24 @@
       },
       "type": "object"
     },
+    "GoogleCloudApigeeV1ListArchiveDeploymentsResponse": {
+      "description": "Response for ListArchiveDeployments method.",
+      "id": "GoogleCloudApigeeV1ListArchiveDeploymentsResponse",
+      "properties": {
+        "archiveDeployments": {
+          "description": "Archive Deployments in the specified environment.",
+          "items": {
+            "$ref": "GoogleCloudApigeeV1ArchiveDeployment"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "Page token that you can include in a ListArchiveDeployments request to retrieve the next page. If omitted, no subsequent pages exist.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudApigeeV1ListAsyncQueriesResponse": {
       "description": "The response for ListAsyncQueries.",
       "id": "GoogleCloudApigeeV1ListAsyncQueriesResponse",
diff --git a/googleapiclient/discovery_cache/documents/apikeys.v2.json b/googleapiclient/discovery_cache/documents/apikeys.v2.json
index 1399ea2..7c6ffcc 100644
--- a/googleapiclient/discovery_cache/documents/apikeys.v2.json
+++ b/googleapiclient/discovery_cache/documents/apikeys.v2.json
@@ -424,7 +424,7 @@
       }
     }
   },
-  "revision": "20210807",
+  "revision": "20210813",
   "rootUrl": "https://apikeys.googleapis.com/",
   "schemas": {
     "Operation": {
diff --git a/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json b/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
index 4ab8a8e..ab4a2cb 100644
--- a/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
@@ -586,7 +586,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210813",
   "rootUrl": "https://area120tables.googleapis.com/",
   "schemas": {
     "BatchCreateRowsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json
index 6a41f23..876c25d 100644
--- a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json
+++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-platform.read-only": {
-          "description": "View your data across Google Cloud Platform services"
+          "description": "View your data across Google Cloud services and see the email address of your Google Account"
         }
       }
     }
@@ -348,7 +348,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210810",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "AptArtifact": {
diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json
index 897c5ac..e6eb4ab 100644
--- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-platform.read-only": {
-          "description": "View your data across Google Cloud Platform services"
+          "description": "View your data across Google Cloud services and see the email address of your Google Account"
         }
       }
     }
@@ -971,7 +971,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210810",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "AptArtifact": {
diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json
index 3f5595f..ef9b2ce 100644
--- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-platform.read-only": {
-          "description": "View your data across Google Cloud Platform services"
+          "description": "View your data across Google Cloud services and see the email address of your Google Account"
         }
       }
     }
@@ -1035,7 +1035,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210810",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "AptArtifact": {
diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
index 471f455..a964351 100644
--- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
+++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
@@ -351,7 +351,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210805",
   "rootUrl": "https://assuredworkloads.googleapis.com/",
   "schemas": {
     "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/bigquery.v2.json b/googleapiclient/discovery_cache/documents/bigquery.v2.json
index 94e21a5..969379f 100644
--- a/googleapiclient/discovery_cache/documents/bigquery.v2.json
+++ b/googleapiclient/discovery_cache/documents/bigquery.v2.json
@@ -1683,7 +1683,7 @@
       }
     }
   },
-  "revision": "20210725",
+  "revision": "20210727",
   "rootUrl": "https://bigquery.googleapis.com/",
   "schemas": {
     "AggregateClassificationMetrics": {
diff --git a/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json b/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json
index 68579ba..5e9d9e4 100644
--- a/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json
@@ -395,7 +395,7 @@
       }
     }
   },
-  "revision": "20210723",
+  "revision": "20210727",
   "rootUrl": "https://bigqueryconnection.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json b/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json
index 316157c..41df1ba 100644
--- a/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json
+++ b/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json
@@ -1280,7 +1280,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210805",
   "rootUrl": "https://bigquerydatatransfer.googleapis.com/",
   "schemas": {
     "CheckValidCredsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json
index db6fae2..6e979f8 100644
--- a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json
+++ b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/bigquery": {
-          "description": "View and manage your data in Google BigQuery"
+          "description": "View and manage your data in Google BigQuery and see the email address for your Google Account"
         },
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -309,6 +309,11 @@
                     "name"
                   ],
                   "parameters": {
+                    "force": {
+                      "description": "Can be used to force delete commitments even if assignments exist. Deleting commitments with assignments may cause queries to fail if they no longer have access to slots.",
+                      "location": "query",
+                      "type": "boolean"
+                    },
                     "name": {
                       "description": "Required. Resource name of the capacity commitment to delete. E.g., `projects/myproject/locations/US/capacityCommitments/123`",
                       "location": "path",
@@ -783,7 +788,7 @@
       }
     }
   },
-  "revision": "20210727",
+  "revision": "20210806",
   "rootUrl": "https://bigqueryreservation.googleapis.com/",
   "schemas": {
     "Assignment": {
diff --git a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json
index df5aab9..f402326 100644
--- a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/bigquery": {
-          "description": "View and manage your data in Google BigQuery"
+          "description": "View and manage your data in Google BigQuery and see the email address for your Google Account"
         },
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -267,6 +267,11 @@
                     "name"
                   ],
                   "parameters": {
+                    "force": {
+                      "description": "Can be used to force delete commitments even if assignments exist. Deleting commitments with assignments may cause queries to fail if they no longer have access to slots.",
+                      "location": "query",
+                      "type": "boolean"
+                    },
                     "name": {
                       "description": "Required. Resource name of the capacity commitment to delete. E.g., `projects/myproject/locations/US/capacityCommitments/123`",
                       "location": "path",
@@ -781,7 +786,7 @@
       }
     }
   },
-  "revision": "20210727",
+  "revision": "20210806",
   "rootUrl": "https://bigqueryreservation.googleapis.com/",
   "schemas": {
     "Assignment": {
diff --git a/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json b/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json
index 84537db..a0396ea 100644
--- a/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json
+++ b/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json
@@ -96,7 +96,7 @@
   },
   "protocol": "rest",
   "resources": {},
-  "revision": "20210714",
+  "revision": "20210717",
   "rootUrl": "https://bigtableadmin.googleapis.com/",
   "schemas": {
     "Backup": {
diff --git a/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json b/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json
index fe21e19..d096eaa 100644
--- a/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json
+++ b/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json
@@ -1803,7 +1803,7 @@
       }
     }
   },
-  "revision": "20210714",
+  "revision": "20210717",
   "rootUrl": "https://bigtableadmin.googleapis.com/",
   "schemas": {
     "AppProfile": {
diff --git a/googleapiclient/discovery_cache/documents/billingbudgets.v1.json b/googleapiclient/discovery_cache/documents/billingbudgets.v1.json
index 55b4347..a19d351 100644
--- a/googleapiclient/discovery_cache/documents/billingbudgets.v1.json
+++ b/googleapiclient/discovery_cache/documents/billingbudgets.v1.json
@@ -6,7 +6,7 @@
           "description": "View and manage your Google Cloud Platform billing accounts"
         },
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -270,7 +270,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://billingbudgets.googleapis.com/",
   "schemas": {
     "GoogleCloudBillingBudgetsV1Budget": {
diff --git a/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json b/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json
index 5aa105a..6248b56 100644
--- a/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json
@@ -6,7 +6,7 @@
           "description": "View and manage your Google Cloud Platform billing accounts"
         },
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -264,7 +264,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://billingbudgets.googleapis.com/",
   "schemas": {
     "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule": {
diff --git a/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json b/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json
index d1ac7ec..2b8db6f 100644
--- a/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json
+++ b/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json
@@ -551,7 +551,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://binaryauthorization.googleapis.com/",
   "schemas": {
     "AdmissionRule": {
@@ -870,8 +870,8 @@
           ],
           "enumDescriptions": [
             "Not specified: DISABLE is assumed.",
-            "Enables global policy evaluation.",
-            "Disables global policy evaluation."
+            "Enables system policy evaluation.",
+            "Disables system policy evaluation."
           ],
           "type": "string"
         },
diff --git a/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json b/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json
index f02ba6e..fb6cdc4 100644
--- a/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json
@@ -551,7 +551,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://binaryauthorization.googleapis.com/",
   "schemas": {
     "AdmissionRule": {
@@ -870,8 +870,8 @@
           ],
           "enumDescriptions": [
             "Not specified: DISABLE is assumed.",
-            "Enables global policy evaluation.",
-            "Disables global policy evaluation."
+            "Enables system policy evaluation.",
+            "Disables system policy evaluation."
           ],
           "type": "string"
         },
diff --git a/googleapiclient/discovery_cache/documents/blogger.v2.json b/googleapiclient/discovery_cache/documents/blogger.v2.json
index 2b4c31a..8d4c620 100644
--- a/googleapiclient/discovery_cache/documents/blogger.v2.json
+++ b/googleapiclient/discovery_cache/documents/blogger.v2.json
@@ -401,7 +401,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210813",
   "rootUrl": "https://blogger.googleapis.com/",
   "schemas": {
     "Blog": {
diff --git a/googleapiclient/discovery_cache/documents/blogger.v3.json b/googleapiclient/discovery_cache/documents/blogger.v3.json
index fa4cd3e..aff4182 100644
--- a/googleapiclient/discovery_cache/documents/blogger.v3.json
+++ b/googleapiclient/discovery_cache/documents/blogger.v3.json
@@ -1678,7 +1678,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210813",
   "rootUrl": "https://blogger.googleapis.com/",
   "schemas": {
     "Blog": {
diff --git a/googleapiclient/discovery_cache/documents/books.v1.json b/googleapiclient/discovery_cache/documents/books.v1.json
index 04f768b..3b53e7a 100644
--- a/googleapiclient/discovery_cache/documents/books.v1.json
+++ b/googleapiclient/discovery_cache/documents/books.v1.json
@@ -2671,7 +2671,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210811",
   "rootUrl": "https://books.googleapis.com/",
   "schemas": {
     "Annotation": {
diff --git a/googleapiclient/discovery_cache/documents/calendar.v3.json b/googleapiclient/discovery_cache/documents/calendar.v3.json
index c21719b..9132213 100644
--- a/googleapiclient/discovery_cache/documents/calendar.v3.json
+++ b/googleapiclient/discovery_cache/documents/calendar.v3.json
@@ -1723,7 +1723,7 @@
       }
     }
   },
-  "revision": "20210718",
+  "revision": "20210807",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Acl": {
@@ -2104,12 +2104,12 @@
       "id": "ConferenceData",
       "properties": {
         "conferenceId": {
-          "description": "The ID of the conference.\nCan be used by developers to keep track of conferences, should not be displayed to users.\nThe ID value is formed differently for each conference solution type:  \n- eventHangout: ID is not set.\n- eventNamedHangout: ID is the name of the Hangout.\n- hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.\n- addOn: ID is defined by the third-party provider.  Optional.",
+          "description": "The ID of the conference.\nCan be used by developers to keep track of conferences, should not be displayed to users.\nThe ID value is formed differently for each conference solution type:  \n- eventHangout: ID is not set. (This conference type is deprecated.)\n- eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)\n- hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.\n- addOn: ID is defined by the third-party provider.  Optional.",
           "type": "string"
         },
         "conferenceSolution": {
           "$ref": "ConferenceSolution",
-          "description": "The conference solution, such as Hangouts or Google Meet.\nUnset for a conference with a failed create request.\nEither conferenceSolution and at least one entryPoint, or createRequest is required."
+          "description": "The conference solution, such as Google Meet.\nUnset for a conference with a failed create request.\nEither conferenceSolution and at least one entryPoint, or createRequest is required."
         },
         "createRequest": {
           "$ref": "CreateConferenceRequest",
@@ -2204,7 +2204,7 @@
       "id": "ConferenceSolutionKey",
       "properties": {
         "type": {
-          "description": "The conference solution type.\nIf a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.\nThe possible values are:  \n- \"eventHangout\" for Hangouts for consumers (http://hangouts.google.com)\n- \"eventNamedHangout\" for classic Hangouts for Google Workspace users (deprecated; http://hangouts.google.com)\n- \"hangoutsMeet\" for Google Meet (http://meet.google.com)\n- \"addOn\" for 3P conference providers",
+          "description": "The conference solution type.\nIf a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.\nThe possible values are:  \n- \"eventHangout\" for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)\n- \"eventNamedHangout\" for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)\n- \"hangoutsMeet\" for Google Meet (http://meet.google.com)\n- \"addOn\" for 3P conference providers",
           "type": "string"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/chat.v1.json b/googleapiclient/discovery_cache/documents/chat.v1.json
index 56ce56e..fc374c2 100644
--- a/googleapiclient/discovery_cache/documents/chat.v1.json
+++ b/googleapiclient/discovery_cache/documents/chat.v1.json
@@ -601,7 +601,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://chat.googleapis.com/",
   "schemas": {
     "ActionParameter": {
@@ -2210,6 +2210,12 @@
           "description": "A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications).",
           "type": "string"
         },
+        "lastUpdateTime": {
+          "description": "Output only. The time at which the message was last updated in Hangouts Chat server. If the message was never updated, this field will be same as create_time.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
         "name": {
           "type": "string"
         },
diff --git a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
index 7bcc756..e766f6c 100644
--- a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
@@ -382,7 +382,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://chromemanagement.googleapis.com/",
   "schemas": {
     "GoogleChromeManagementV1AndroidAppInfo": {
diff --git a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
index d4d9d31..c5a1ec7 100644
--- a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
@@ -324,7 +324,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210812",
   "rootUrl": "https://chromepolicy.googleapis.com/",
   "schemas": {
     "GoogleChromePolicyV1AdditionalTargetKeyName": {
diff --git a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
index cd74c94..1b2f93b 100644
--- a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
@@ -116,7 +116,7 @@
       }
     }
   },
-  "revision": "20210805",
+  "revision": "20210812",
   "rootUrl": "https://chromeuxreport.googleapis.com/",
   "schemas": {
     "Bin": {
diff --git a/googleapiclient/discovery_cache/documents/classroom.v1.json b/googleapiclient/discovery_cache/documents/classroom.v1.json
index 46f9cd9..4a13ae3 100644
--- a/googleapiclient/discovery_cache/documents/classroom.v1.json
+++ b/googleapiclient/discovery_cache/documents/classroom.v1.json
@@ -2400,7 +2400,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210814",
   "rootUrl": "https://classroom.googleapis.com/",
   "schemas": {
     "Announcement": {
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
index aa656dd..1cadc19 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
@@ -166,6 +166,34 @@
       "resources": {
         "builds": {
           "methods": {
+            "approve": {
+              "description": "Approves or rejects a pending build. If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. If rejected, the returned LRO will be immediately done.",
+              "flatPath": "v1/projects/{projectsId}/builds/{buildsId}:approve",
+              "httpMethod": "POST",
+              "id": "cloudbuild.projects.builds.approve",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. Name of the target build. For example: \"projects/{$project_id}/builds/{$build_id}\"",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/builds/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+name}:approve",
+              "request": {
+                "$ref": "ApproveBuildRequest"
+              },
+              "response": {
+                "$ref": "Operation"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
             "cancel": {
               "description": "Cancels a build in progress.",
               "flatPath": "v1/projects/{projectId}/builds/{id}:cancel",
@@ -524,6 +552,34 @@
           "resources": {
             "builds": {
               "methods": {
+                "approve": {
+                  "description": "Approves or rejects a pending build. If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. If rejected, the returned LRO will be immediately done.",
+                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/builds/{buildsId}:approve",
+                  "httpMethod": "POST",
+                  "id": "cloudbuild.projects.locations.builds.approve",
+                  "parameterOrder": [
+                    "name"
+                  ],
+                  "parameters": {
+                    "name": {
+                      "description": "Required. Name of the target build. For example: \"projects/{$project_id}/builds/{$build_id}\"",
+                      "location": "path",
+                      "pattern": "^projects/[^/]+/locations/[^/]+/builds/[^/]+$",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1/{+name}:approve",
+                  "request": {
+                    "$ref": "ApproveBuildRequest"
+                  },
+                  "response": {
+                    "$ref": "Operation"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform"
+                  ]
+                },
                 "cancel": {
                   "description": "Cancels a build in progress.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/builds/{buildsId}:cancel",
@@ -1652,9 +1708,71 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210803",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
+    "ApprovalConfig": {
+      "description": "ApprovalConfig describes configuration for manual approval of a build.",
+      "id": "ApprovalConfig",
+      "properties": {
+        "approvalRequired": {
+          "description": "Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
+    "ApprovalResult": {
+      "description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.",
+      "id": "ApprovalResult",
+      "properties": {
+        "approvalTime": {
+          "description": "Output only. The time when the approval decision was made.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "approverAccount": {
+          "description": "Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user's actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "comment": {
+          "description": "Optional. An optional comment for this manual approval result.",
+          "type": "string"
+        },
+        "decision": {
+          "description": "Required. The decision of this manual approval.",
+          "enum": [
+            "DECISION_UNSPECIFIED",
+            "APPROVED",
+            "REJECTED"
+          ],
+          "enumDescriptions": [
+            "Default enum type. This should not be used.",
+            "Build is approved.",
+            "Build is rejected."
+          ],
+          "type": "string"
+        },
+        "url": {
+          "description": "Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "ApproveBuildRequest": {
+      "description": "Request to approve or reject a pending build.",
+      "id": "ApproveBuildRequest",
+      "properties": {
+        "approvalResult": {
+          "$ref": "ApprovalResult",
+          "description": "Approval decision and metadata."
+        }
+      },
+      "type": "object"
+    },
     "ArtifactObjects": {
       "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.",
       "id": "ArtifactObjects",
@@ -1718,6 +1836,11 @@
       "description": "A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.",
       "id": "Build",
       "properties": {
+        "approval": {
+          "$ref": "BuildApproval",
+          "description": "Output only. Describes this build's approval configuration, status, and result.",
+          "readOnly": true
+        },
         "artifacts": {
           "$ref": "Artifacts",
           "description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps."
@@ -1823,6 +1946,7 @@
           "description": "Output only. Status of the build.",
           "enum": [
             "STATUS_UNKNOWN",
+            "PENDING",
             "QUEUED",
             "WORKING",
             "SUCCESS",
@@ -1834,6 +1958,7 @@
           ],
           "enumDescriptions": [
             "Status of the build is unknown.",
+            "Build has been created and is pending execution and queuing. It has not been queued.",
             "Build or step is queued; work has not yet begun.",
             "Build or step is being executed.",
             "Build or step finished successfully.",
@@ -1896,6 +2021,42 @@
       },
       "type": "object"
     },
+    "BuildApproval": {
+      "description": "BuildApproval describes a build's approval configuration, state, and result.",
+      "id": "BuildApproval",
+      "properties": {
+        "config": {
+          "$ref": "ApprovalConfig",
+          "description": "Output only. Configuration for manual approval of this build.",
+          "readOnly": true
+        },
+        "result": {
+          "$ref": "ApprovalResult",
+          "description": "Output only. Result of manual approval for this Build.",
+          "readOnly": true
+        },
+        "state": {
+          "description": "Output only. The state of this build's approval.",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "PENDING",
+            "APPROVED",
+            "REJECTED",
+            "CANCELLED"
+          ],
+          "enumDescriptions": [
+            "Default enum type. This should not be used.",
+            "Build approval is pending.",
+            "Build approval has been approved.",
+            "Build approval has been rejected.",
+            "Build was cancelled while it was still pending approval."
+          ],
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "BuildOperationMetadata": {
       "description": "Metadata for build operations.",
       "id": "BuildOperationMetadata",
@@ -2084,6 +2245,10 @@
           "description": "Output only. Stores timing information for pulling this build step's builder image only.",
           "readOnly": true
         },
+        "script": {
+          "description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.",
+          "type": "string"
+        },
         "secretEnv": {
           "description": "A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`.",
           "items": {
@@ -2095,6 +2260,7 @@
           "description": "Output only. Status of the build step. At this time, build step status is only updated on build completion; step status is not updated in real-time as the build progresses.",
           "enum": [
             "STATUS_UNKNOWN",
+            "PENDING",
             "QUEUED",
             "WORKING",
             "SUCCESS",
@@ -2106,6 +2272,7 @@
           ],
           "enumDescriptions": [
             "Status of the build is unknown.",
+            "Build has been created and is pending execution and queuing. It has not been queued.",
             "Build or step is queued; work has not yet begun.",
             "Build or step is being executed.",
             "Build or step finished successfully.",
@@ -2149,6 +2316,10 @@
       "description": "Configuration for an automated build in response to source repository changes.",
       "id": "BuildTrigger",
       "properties": {
+        "approvalConfig": {
+          "$ref": "ApprovalConfig",
+          "description": "Configuration for manual approval to start a build invocation of this BuildTrigger."
+        },
         "autodetect": {
           "description": "Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.",
           "type": "boolean"
@@ -2176,9 +2347,13 @@
           "type": "string"
         },
         "filter": {
-          "description": "Optional. A Common Expression Language string.",
+          "description": "A Common Expression Language string.",
           "type": "string"
         },
+        "gitFileSource": {
+          "$ref": "GitFileSource",
+          "description": "The file source describing the local or remote Build template."
+        },
         "github": {
           "$ref": "GitHubEventsConfig",
           "description": "GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`."
@@ -2215,7 +2390,7 @@
           "type": "string"
         },
         "serviceAccount": {
-          "description": "Optional. The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`",
+          "description": "The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`",
           "type": "string"
         },
         "sourceToBuild": {
@@ -2429,6 +2604,39 @@
       },
       "type": "object"
     },
+    "GitFileSource": {
+      "description": "GitFileSource describes a file within a (possibly remote) code repository.",
+      "id": "GitFileSource",
+      "properties": {
+        "path": {
+          "description": "The path of the file, with the repo root as the root of the path.",
+          "type": "string"
+        },
+        "repoType": {
+          "description": "See RepoType above.",
+          "enum": [
+            "UNKNOWN",
+            "CLOUD_SOURCE_REPOSITORIES",
+            "GITHUB"
+          ],
+          "enumDescriptions": [
+            "The default, unknown repo type.",
+            "A Google Cloud Source Repositories-hosted repo.",
+            "A GitHub-hosted repo not necessarily on \"github.com\" (i.e. GitHub Enterprise)."
+          ],
+          "type": "string"
+        },
+        "revision": {
+          "description": "The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.",
+          "type": "string"
+        },
+        "uri": {
+          "description": "The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GitHubEnterpriseConfig": {
       "description": "GitHubEnterpriseConfig represents a configuration for a GitHub Enterprise server.",
       "id": "GitHubEnterpriseConfig",
@@ -2953,7 +3161,7 @@
           "type": "string"
         },
         "cancelRequested": {
-          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
+          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
           "readOnly": true,
           "type": "boolean"
         },
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json
index 04c183b..c7fc6f4 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json
@@ -306,9 +306,60 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210803",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
+    "ApprovalConfig": {
+      "description": "ApprovalConfig describes configuration for manual approval of a build.",
+      "id": "ApprovalConfig",
+      "properties": {
+        "approvalRequired": {
+          "description": "Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
+    "ApprovalResult": {
+      "description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.",
+      "id": "ApprovalResult",
+      "properties": {
+        "approvalTime": {
+          "description": "Output only. The time when the approval decision was made.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "approverAccount": {
+          "description": "Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user's actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "comment": {
+          "description": "Optional. An optional comment for this manual approval result.",
+          "type": "string"
+        },
+        "decision": {
+          "description": "Required. The decision of this manual approval.",
+          "enum": [
+            "DECISION_UNSPECIFIED",
+            "APPROVED",
+            "REJECTED"
+          ],
+          "enumDescriptions": [
+            "Default enum type. This should not be used.",
+            "Build is approved.",
+            "Build is rejected."
+          ],
+          "type": "string"
+        },
+        "url": {
+          "description": "Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ArtifactObjects": {
       "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.",
       "id": "ArtifactObjects",
@@ -372,6 +423,11 @@
       "description": "A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.",
       "id": "Build",
       "properties": {
+        "approval": {
+          "$ref": "BuildApproval",
+          "description": "Output only. Describes this build's approval configuration, status, and result.",
+          "readOnly": true
+        },
         "artifacts": {
           "$ref": "Artifacts",
           "description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps."
@@ -477,6 +533,7 @@
           "description": "Output only. Status of the build.",
           "enum": [
             "STATUS_UNKNOWN",
+            "PENDING",
             "QUEUED",
             "WORKING",
             "SUCCESS",
@@ -488,6 +545,7 @@
           ],
           "enumDescriptions": [
             "Status of the build is unknown.",
+            "Build has been created and is pending execution and queuing. It has not been queued.",
             "Build or step is queued; work has not yet begun.",
             "Build or step is being executed.",
             "Build or step finished successfully.",
@@ -550,6 +608,42 @@
       },
       "type": "object"
     },
+    "BuildApproval": {
+      "description": "BuildApproval describes a build's approval configuration, state, and result.",
+      "id": "BuildApproval",
+      "properties": {
+        "config": {
+          "$ref": "ApprovalConfig",
+          "description": "Output only. Configuration for manual approval of this build.",
+          "readOnly": true
+        },
+        "result": {
+          "$ref": "ApprovalResult",
+          "description": "Output only. Result of manual approval for this Build.",
+          "readOnly": true
+        },
+        "state": {
+          "description": "Output only. The state of this build's approval.",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "PENDING",
+            "APPROVED",
+            "REJECTED",
+            "CANCELLED"
+          ],
+          "enumDescriptions": [
+            "Default enum type. This should not be used.",
+            "Build approval is pending.",
+            "Build approval has been approved.",
+            "Build approval has been rejected.",
+            "Build was cancelled while it was still pending approval."
+          ],
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "BuildOperationMetadata": {
       "description": "Metadata for build operations.",
       "id": "BuildOperationMetadata",
@@ -738,6 +832,10 @@
           "description": "Output only. Stores timing information for pulling this build step's builder image only.",
           "readOnly": true
         },
+        "script": {
+          "description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.",
+          "type": "string"
+        },
         "secretEnv": {
           "description": "A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`.",
           "items": {
@@ -749,6 +847,7 @@
           "description": "Output only. Status of the build step. At this time, build step status is only updated on build completion; step status is not updated in real-time as the build progresses.",
           "enum": [
             "STATUS_UNKNOWN",
+            "PENDING",
             "QUEUED",
             "WORKING",
             "SUCCESS",
@@ -760,6 +859,7 @@
           ],
           "enumDescriptions": [
             "Status of the build is unknown.",
+            "Build has been created and is pending execution and queuing. It has not been queued.",
             "Build or step is queued; work has not yet begun.",
             "Build or step is being executed.",
             "Build or step finished successfully.",
@@ -1253,7 +1353,7 @@
           "type": "string"
         },
         "cancelRequested": {
-          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
+          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
           "readOnly": true,
           "type": "boolean"
         },
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json
index 3e6a779..18cdb56 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json
@@ -317,9 +317,60 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210803",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
+    "ApprovalConfig": {
+      "description": "ApprovalConfig describes configuration for manual approval of a build.",
+      "id": "ApprovalConfig",
+      "properties": {
+        "approvalRequired": {
+          "description": "Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
+    "ApprovalResult": {
+      "description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.",
+      "id": "ApprovalResult",
+      "properties": {
+        "approvalTime": {
+          "description": "Output only. The time when the approval decision was made.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "approverAccount": {
+          "description": "Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user's actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "comment": {
+          "description": "Optional. An optional comment for this manual approval result.",
+          "type": "string"
+        },
+        "decision": {
+          "description": "Required. The decision of this manual approval.",
+          "enum": [
+            "DECISION_UNSPECIFIED",
+            "APPROVED",
+            "REJECTED"
+          ],
+          "enumDescriptions": [
+            "Default enum type. This should not be used.",
+            "Build is approved.",
+            "Build is rejected."
+          ],
+          "type": "string"
+        },
+        "url": {
+          "description": "Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ArtifactObjects": {
       "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.",
       "id": "ArtifactObjects",
@@ -383,6 +434,11 @@
       "description": "A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.",
       "id": "Build",
       "properties": {
+        "approval": {
+          "$ref": "BuildApproval",
+          "description": "Output only. Describes this build's approval configuration, status, and result.",
+          "readOnly": true
+        },
         "artifacts": {
           "$ref": "Artifacts",
           "description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps."
@@ -488,6 +544,7 @@
           "description": "Output only. Status of the build.",
           "enum": [
             "STATUS_UNKNOWN",
+            "PENDING",
             "QUEUED",
             "WORKING",
             "SUCCESS",
@@ -499,6 +556,7 @@
           ],
           "enumDescriptions": [
             "Status of the build is unknown.",
+            "Build has been created and is pending execution and queuing. It has not been queued.",
             "Build or step is queued; work has not yet begun.",
             "Build or step is being executed.",
             "Build or step finished successfully.",
@@ -561,6 +619,42 @@
       },
       "type": "object"
     },
+    "BuildApproval": {
+      "description": "BuildApproval describes a build's approval configuration, state, and result.",
+      "id": "BuildApproval",
+      "properties": {
+        "config": {
+          "$ref": "ApprovalConfig",
+          "description": "Output only. Configuration for manual approval of this build.",
+          "readOnly": true
+        },
+        "result": {
+          "$ref": "ApprovalResult",
+          "description": "Output only. Result of manual approval for this Build.",
+          "readOnly": true
+        },
+        "state": {
+          "description": "Output only. The state of this build's approval.",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "PENDING",
+            "APPROVED",
+            "REJECTED",
+            "CANCELLED"
+          ],
+          "enumDescriptions": [
+            "Default enum type. This should not be used.",
+            "Build approval is pending.",
+            "Build approval has been approved.",
+            "Build approval has been rejected.",
+            "Build was cancelled while it was still pending approval."
+          ],
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "BuildOperationMetadata": {
       "description": "Metadata for build operations.",
       "id": "BuildOperationMetadata",
@@ -749,6 +843,10 @@
           "description": "Output only. Stores timing information for pulling this build step's builder image only.",
           "readOnly": true
         },
+        "script": {
+          "description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.",
+          "type": "string"
+        },
         "secretEnv": {
           "description": "A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`.",
           "items": {
@@ -760,6 +858,7 @@
           "description": "Output only. Status of the build step. At this time, build step status is only updated on build completion; step status is not updated in real-time as the build progresses.",
           "enum": [
             "STATUS_UNKNOWN",
+            "PENDING",
             "QUEUED",
             "WORKING",
             "SUCCESS",
@@ -771,6 +870,7 @@
           ],
           "enumDescriptions": [
             "Status of the build is unknown.",
+            "Build has been created and is pending execution and queuing. It has not been queued.",
             "Build or step is queued; work has not yet begun.",
             "Build or step is being executed.",
             "Build or step finished successfully.",
@@ -1256,7 +1356,7 @@
           "type": "string"
         },
         "cancelRequested": {
-          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
+          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
           "readOnly": true,
           "type": "boolean"
         },
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json
index 701c8b3..c96773f 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json
@@ -317,9 +317,60 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210803",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
+    "ApprovalConfig": {
+      "description": "ApprovalConfig describes configuration for manual approval of a build.",
+      "id": "ApprovalConfig",
+      "properties": {
+        "approvalRequired": {
+          "description": "Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
+    "ApprovalResult": {
+      "description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.",
+      "id": "ApprovalResult",
+      "properties": {
+        "approvalTime": {
+          "description": "Output only. The time when the approval decision was made.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "approverAccount": {
+          "description": "Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called (the user's actual email that is tied to their GAIA ID may have changed). This field is not stored, rather, it is calculated on the fly using approver_id.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "comment": {
+          "description": "Optional. An optional comment for this manual approval result.",
+          "type": "string"
+        },
+        "decision": {
+          "description": "Required. The decision of this manual approval.",
+          "enum": [
+            "DECISION_UNSPECIFIED",
+            "APPROVED",
+            "REJECTED"
+          ],
+          "enumDescriptions": [
+            "Default enum type. This should not be used.",
+            "Build is approved.",
+            "Build is rejected."
+          ],
+          "type": "string"
+        },
+        "url": {
+          "description": "Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ArtifactObjects": {
       "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.",
       "id": "ArtifactObjects",
@@ -383,6 +434,11 @@
       "description": "A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.",
       "id": "Build",
       "properties": {
+        "approval": {
+          "$ref": "BuildApproval",
+          "description": "Output only. Describes this build's approval configuration, status, and result.",
+          "readOnly": true
+        },
         "artifacts": {
           "$ref": "Artifacts",
           "description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps."
@@ -488,6 +544,7 @@
           "description": "Output only. Status of the build.",
           "enum": [
             "STATUS_UNKNOWN",
+            "PENDING",
             "QUEUED",
             "WORKING",
             "SUCCESS",
@@ -499,6 +556,7 @@
           ],
           "enumDescriptions": [
             "Status of the build is unknown.",
+            "Build has been created and is pending execution and queuing. It has not been queued.",
             "Build or step is queued; work has not yet begun.",
             "Build or step is being executed.",
             "Build or step finished successfully.",
@@ -561,6 +619,42 @@
       },
       "type": "object"
     },
+    "BuildApproval": {
+      "description": "BuildApproval describes a build's approval configuration, state, and result.",
+      "id": "BuildApproval",
+      "properties": {
+        "config": {
+          "$ref": "ApprovalConfig",
+          "description": "Output only. Configuration for manual approval of this build.",
+          "readOnly": true
+        },
+        "result": {
+          "$ref": "ApprovalResult",
+          "description": "Output only. Result of manual approval for this Build.",
+          "readOnly": true
+        },
+        "state": {
+          "description": "Output only. The state of this build's approval.",
+          "enum": [
+            "STATE_UNSPECIFIED",
+            "PENDING",
+            "APPROVED",
+            "REJECTED",
+            "CANCELLED"
+          ],
+          "enumDescriptions": [
+            "Default enum type. This should not be used.",
+            "Build approval is pending.",
+            "Build approval has been approved.",
+            "Build approval has been rejected.",
+            "Build was cancelled while it was still pending approval."
+          ],
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "BuildOperationMetadata": {
       "description": "Metadata for build operations.",
       "id": "BuildOperationMetadata",
@@ -749,6 +843,10 @@
           "description": "Output only. Stores timing information for pulling this build step's builder image only.",
           "readOnly": true
         },
+        "script": {
+          "description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.",
+          "type": "string"
+        },
         "secretEnv": {
           "description": "A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`.",
           "items": {
@@ -760,6 +858,7 @@
           "description": "Output only. Status of the build step. At this time, build step status is only updated on build completion; step status is not updated in real-time as the build progresses.",
           "enum": [
             "STATUS_UNKNOWN",
+            "PENDING",
             "QUEUED",
             "WORKING",
             "SUCCESS",
@@ -771,6 +870,7 @@
           ],
           "enumDescriptions": [
             "Status of the build is unknown.",
+            "Build has been created and is pending execution and queuing. It has not been queued.",
             "Build or step is queued; work has not yet begun.",
             "Build or step is being executed.",
             "Build or step finished successfully.",
@@ -1256,7 +1356,7 @@
           "type": "string"
         },
         "cancelRequested": {
-          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
+          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
           "readOnly": true,
           "type": "boolean"
         },
diff --git a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
index 0c41096..2a58241 100644
--- a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
@@ -1589,7 +1589,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210813",
   "rootUrl": "https://cloudchannel.googleapis.com/",
   "schemas": {
     "GoogleCloudChannelV1ActivateEntitlementRequest": {
diff --git a/googleapiclient/discovery_cache/documents/clouddebugger.v2.json b/googleapiclient/discovery_cache/documents/clouddebugger.v2.json
index fb2c271..b6492b7 100644
--- a/googleapiclient/discovery_cache/documents/clouddebugger.v2.json
+++ b/googleapiclient/discovery_cache/documents/clouddebugger.v2.json
@@ -448,7 +448,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://clouddebugger.googleapis.com/",
   "schemas": {
     "AliasContext": {
diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
index b92392e..80f2963 100644
--- a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
@@ -546,7 +546,7 @@
       }
     }
   },
-  "revision": "20210726",
+  "revision": "20210805",
   "rootUrl": "https://cloudfunctions.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -768,7 +768,7 @@
           "type": "string"
         },
         "sourceUploadUrl": {
-          "description": "The Google Cloud Storage signed URL used for source uploading, generated by google.cloud.functions.v1.GenerateUploadUrl",
+          "description": "The Google Cloud Storage signed URL used for source uploading, generated by calling [google.cloud.functions.v1.GenerateUploadUrl]. The signature is validated on write methods {Create, Update} The signature is stripped from the Function object on read methods {Get, List}",
           "type": "string"
         },
         "status": {
diff --git a/googleapiclient/discovery_cache/documents/cloudiot.v1.json b/googleapiclient/discovery_cache/documents/cloudiot.v1.json
index 0ac3334..84684a1 100644
--- a/googleapiclient/discovery_cache/documents/cloudiot.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudiot.v1.json
@@ -938,7 +938,7 @@
       }
     }
   },
-  "revision": "20210727",
+  "revision": "20210803",
   "rootUrl": "https://cloudiot.googleapis.com/",
   "schemas": {
     "BindDeviceToGatewayRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudkms.v1.json b/googleapiclient/discovery_cache/documents/cloudkms.v1.json
index 0264016..22dbef0 100644
--- a/googleapiclient/discovery_cache/documents/cloudkms.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudkms.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloudkms": {
           "description": "View and manage your keys and secrets stored in Cloud Key Management Service"
@@ -843,7 +843,7 @@
                           ]
                         },
                         "destroy": {
-                          "description": "Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED and destroy_time will be set to a time 24 hours in the future, at which point the state will be changed to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.",
+                          "description": "Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.",
                           "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:destroy",
                           "httpMethod": "POST",
                           "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy",
@@ -1346,7 +1346,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210812",
   "rootUrl": "https://cloudkms.googleapis.com/",
   "schemas": {
     "AsymmetricDecryptRequest": {
@@ -2584,7 +2584,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
diff --git a/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json b/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json
index e00941b..e6371cf 100644
--- a/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/monitoring": {
           "description": "View and write monitoring data for all of your Google and third-party Cloud and API projects"
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20210723",
+  "revision": "20210809",
   "rootUrl": "https://cloudprofiler.googleapis.com/",
   "schemas": {
     "CreateProfileRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
index 4b431b0..9fdc6b6 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json
@@ -1171,7 +1171,7 @@
       }
     }
   },
-  "revision": "20210801",
+  "revision": "20210807",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "Ancestor": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
index dc3de4d..10d9461 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json
@@ -566,7 +566,7 @@
       }
     }
   },
-  "revision": "20210801",
+  "revision": "20210807",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "Ancestor": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json
index b3bd4d1..e547fdb 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json
@@ -450,7 +450,7 @@
       }
     }
   },
-  "revision": "20210801",
+  "revision": "20210807",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json
index f117f0b..c6bab4e 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json
@@ -450,7 +450,7 @@
       }
     }
   },
-  "revision": "20210801",
+  "revision": "20210807",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
index c7bac53..f7e94ca 100644
--- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
+++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json
@@ -1612,7 +1612,7 @@
       }
     }
   },
-  "revision": "20210801",
+  "revision": "20210807",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
index 9c7cf6d..606640a 100644
--- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
@@ -418,7 +418,7 @@
       }
     }
   },
-  "revision": "20210713",
+  "revision": "20210730",
   "rootUrl": "https://cloudscheduler.googleapis.com/",
   "schemas": {
     "AppEngineHttpTarget": {
diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
index 5f4b884..6dfe88b 100644
--- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
@@ -271,6 +271,11 @@
                     "parent"
                   ],
                   "parameters": {
+                    "filter": {
+                      "description": "`filter` can be used to specify a subset of jobs. If `filter` equals `target_config=\"HttpConfig\"`, then the http target jobs are retrieved. If `filter` equals `target_config=\"PubSubConfig\"`, then the Pub/Sub target jobs are retrieved. If `filter` equals `labels.foo=value1 labels.foo=value2` then only jobs which are labeled with foo=value1 AND foo=value2 will be returned.",
+                      "location": "query",
+                      "type": "string"
+                    },
                     "legacyAppEngineCron": {
                       "description": "This field is used to manage the legacy App Engine Cron jobs using the Cloud Scheduler API. If the field is set to true, the jobs in the __cron queue will be listed instead.",
                       "location": "query",
@@ -428,7 +433,7 @@
       }
     }
   },
-  "revision": "20210713",
+  "revision": "20210730",
   "rootUrl": "https://cloudscheduler.googleapis.com/",
   "schemas": {
     "AppEngineHttpTarget": {
diff --git a/googleapiclient/discovery_cache/documents/cloudsearch.v1.json b/googleapiclient/discovery_cache/documents/cloudsearch.v1.json
index b05a095..a3f7922 100644
--- a/googleapiclient/discovery_cache/documents/cloudsearch.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudsearch.v1.json
@@ -1916,7 +1916,7 @@
       }
     }
   },
-  "revision": "20210727",
+  "revision": "20210803",
   "rootUrl": "https://cloudsearch.googleapis.com/",
   "schemas": {
     "AuditLoggingSettings": {
diff --git a/googleapiclient/discovery_cache/documents/composer.v1.json b/googleapiclient/discovery_cache/documents/composer.v1.json
index ab0338c..5e8623a 100644
--- a/googleapiclient/discovery_cache/documents/composer.v1.json
+++ b/googleapiclient/discovery_cache/documents/composer.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -406,7 +406,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210810",
   "rootUrl": "https://composer.googleapis.com/",
   "schemas": {
     "AllowedIpRange": {
@@ -630,7 +630,7 @@
       "id": "IPAllocationPolicy",
       "properties": {
         "clusterIpv4CidrBlock": {
-          "description": "Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
+          "description": "Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
           "type": "string"
         },
         "clusterSecondaryRangeName": {
@@ -638,7 +638,7 @@
           "type": "string"
         },
         "servicesIpv4CidrBlock": {
-          "description": "Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
+          "description": "Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
           "type": "string"
         },
         "servicesSecondaryRangeName": {
diff --git a/googleapiclient/discovery_cache/documents/composer.v1beta1.json b/googleapiclient/discovery_cache/documents/composer.v1beta1.json
index 7ef9a59..1b5093e 100644
--- a/googleapiclient/discovery_cache/documents/composer.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/composer.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -462,7 +462,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210810",
   "rootUrl": "https://composer.googleapis.com/",
   "schemas": {
     "AllowedIpRange": {
@@ -727,7 +727,7 @@
       "id": "IPAllocationPolicy",
       "properties": {
         "clusterIpv4CidrBlock": {
-          "description": "Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.",
+          "description": "Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.",
           "type": "string"
         },
         "clusterSecondaryRangeName": {
@@ -735,7 +735,7 @@
           "type": "string"
         },
         "servicesIpv4CidrBlock": {
-          "description": "Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.",
+          "description": "Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.",
           "type": "string"
         },
         "servicesSecondaryRangeName": {
diff --git a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json
index 8fe25c6..5c1b4a3 100644
--- a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json
+++ b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -1089,7 +1089,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210813",
   "rootUrl": "https://contactcenterinsights.googleapis.com/",
   "schemas": {
     "GoogleCloudContactcenterinsightsV1Analysis": {
@@ -1576,7 +1576,11 @@
       "id": "GoogleCloudContactcenterinsightsV1ConversationParticipant",
       "properties": {
         "dialogflowParticipant": {
-          "description": "The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}",
+          "description": "Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}",
+          "type": "string"
+        },
+        "dialogflowParticipantName": {
+          "description": "The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}",
           "type": "string"
         },
         "role": {
@@ -1596,6 +1600,10 @@
             "Participant is either a human or automated agent."
           ],
           "type": "string"
+        },
+        "userId": {
+          "description": "A user-specified ID representing the participant.",
+          "type": "string"
         }
       },
       "type": "object"
@@ -2637,7 +2645,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * \"all-triggers\": Notify each time any of the supported triggers occurs. * \"create-analysis\": Notify each time an analysis is created. * \"create-conversation\": Notify each time a conversation is created. * \"export-insights-data\": Notify each time an export is complete. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}",
+          "description": "A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * \"all-triggers\": Notify each time any of the supported triggers occurs. * \"create-analysis\": Notify each time an analysis is created. * \"create-conversation\": Notify each time a conversation is created. * \"export-insights-data\": Notify each time an export is complete. * \"update-conversation\": Notify each time a conversation is updated via UpdateConversation. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}",
           "type": "object"
         },
         "updateTime": {
diff --git a/googleapiclient/discovery_cache/documents/container.v1.json b/googleapiclient/discovery_cache/documents/container.v1.json
index 9816a20..cc35394 100644
--- a/googleapiclient/discovery_cache/documents/container.v1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1.json
@@ -2459,7 +2459,7 @@
       }
     }
   },
-  "revision": "20210722",
+  "revision": "20210730",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
diff --git a/googleapiclient/discovery_cache/documents/container.v1beta1.json b/googleapiclient/discovery_cache/documents/container.v1beta1.json
index a9bcd7a..21ac6d7 100644
--- a/googleapiclient/discovery_cache/documents/container.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1beta1.json
@@ -2484,7 +2484,7 @@
       }
     }
   },
-  "revision": "20210722",
+  "revision": "20210730",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json
index 88b34c0..b2bba0a 100644
--- a/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json
@@ -1229,7 +1229,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210806",
   "rootUrl": "https://containeranalysis.googleapis.com/",
   "schemas": {
     "Artifact": {
diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json
index e163d68..5f250de 100644
--- a/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json
@@ -853,7 +853,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210806",
   "rootUrl": "https://containeranalysis.googleapis.com/",
   "schemas": {
     "AliasContext": {
diff --git a/googleapiclient/discovery_cache/documents/content.v2.1.json b/googleapiclient/discovery_cache/documents/content.v2.1.json
index 02e6a57..1dd6050 100644
--- a/googleapiclient/discovery_cache/documents/content.v2.1.json
+++ b/googleapiclient/discovery_cache/documents/content.v2.1.json
@@ -5675,7 +5675,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210812",
   "rootUrl": "https://shoppingcontent.googleapis.com/",
   "schemas": {
     "Account": {
@@ -5769,7 +5769,7 @@
       "id": "AccountAddress",
       "properties": {
         "country": {
-          "description": "CLDR country code (e.g. \"US\"). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.",
+          "description": "CLDR country code (e.g. \"US\"). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.",
           "type": "string"
         },
         "locality": {
@@ -12583,7 +12583,7 @@
           "description": "The product to insert or update. Only required if the method is `insert` or `update`. If the `update` method is used with `updateMask` only to delete a field, then this isn't required. For example, setting `salePrice` on the `updateMask` and not providing a `product` will result in an existing sale price on the product specified by `productId` being deleted."
         },
         "productId": {
-          "description": "The ID of the product to mutate. Only defined if the method is `get`, `delete`, or `update`. or `delete`.",
+          "description": "The ID of the product to get or mutate. Only defined if the method is `get`, `delete`, or `update`.",
           "type": "string"
         },
         "updateMask": {
@@ -13116,12 +13116,16 @@
           "enum": [
             "REPRICING_RULE_TYPE_UNSPECIFIED",
             "TYPE_STATS_BASED",
-            "TYPE_COGS_BASED"
+            "TYPE_COGS_BASED",
+            "TYPE_SALES_VOLUME_BASED",
+            "TYPE_COMPETITIVE_PRICE"
           ],
           "enumDescriptions": [
             "Unused.",
             "Statistical measurement based rules among Google SA merchants. If this rule is chosen, repricer will adjust the offer price based on statistical metrics (currently only min is available) among other merchants who sell the same product. Details need to be provdided in the RuleDefinition.",
-            "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant."
+            "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant.",
+            "Sales volume based rule. Repricer will adjust the offer price based on the offer's sales volume in the past period of time defined within the rule.",
+            "Competitive price rule. Repricer will adjust the offer price based on the min price from a list of unnamed big competitors."
           ],
           "type": "string"
         }
@@ -13196,12 +13200,16 @@
           "enum": [
             "REPRICING_RULE_TYPE_UNSPECIFIED",
             "TYPE_STATS_BASED",
-            "TYPE_COGS_BASED"
+            "TYPE_COGS_BASED",
+            "TYPE_SALES_VOLUME_BASED",
+            "TYPE_COMPETITIVE_PRICE"
           ],
           "enumDescriptions": [
             "Unused.",
             "Statistical measurement based rules among Google SA merchants. If this rule is chosen, repricer will adjust the offer price based on statistical metrics (currently only min is available) among other merchants who sell the same product. Details need to be provdided in the RuleDefinition.",
-            "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant."
+            "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant.",
+            "Sales volume based rule. Repricer will adjust the offer price based on the offer's sales volume in the past period of time defined within the rule.",
+            "Competitive price rule. Repricer will adjust the offer price based on the min price from a list of unnamed big competitors."
           ],
           "type": "string"
         }
@@ -13358,12 +13366,16 @@
           "enum": [
             "REPRICING_RULE_TYPE_UNSPECIFIED",
             "TYPE_STATS_BASED",
-            "TYPE_COGS_BASED"
+            "TYPE_COGS_BASED",
+            "TYPE_SALES_VOLUME_BASED",
+            "TYPE_COMPETITIVE_PRICE"
           ],
           "enumDescriptions": [
             "Unused.",
             "Statistical measurement based rules among Google SA merchants. If this rule is chosen, repricer will adjust the offer price based on statistical metrics (currently only min is available) among other merchants who sell the same product. Details need to be provdided in the RuleDefinition.",
-            "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant."
+            "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant.",
+            "Sales volume based rule. Repricer will adjust the offer price based on the offer's sales volume in the past period of time defined within the rule.",
+            "Competitive price rule. Repricer will adjust the offer price based on the min price from a list of unnamed big competitors."
           ],
           "type": "string"
         }
diff --git a/googleapiclient/discovery_cache/documents/content.v2.json b/googleapiclient/discovery_cache/documents/content.v2.json
index b002d24..ea96406 100644
--- a/googleapiclient/discovery_cache/documents/content.v2.json
+++ b/googleapiclient/discovery_cache/documents/content.v2.json
@@ -3298,7 +3298,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210812",
   "rootUrl": "https://shoppingcontent.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/customsearch.v1.json b/googleapiclient/discovery_cache/documents/customsearch.v1.json
index 9ae6760..75896c5 100644
--- a/googleapiclient/discovery_cache/documents/customsearch.v1.json
+++ b/googleapiclient/discovery_cache/documents/customsearch.v1.json
@@ -674,7 +674,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://customsearch.googleapis.com/",
   "schemas": {
     "Promotion": {
diff --git a/googleapiclient/discovery_cache/documents/datacatalog.v1.json b/googleapiclient/discovery_cache/documents/datacatalog.v1.json
index 62646c0..ffc3cd5 100644
--- a/googleapiclient/discovery_cache/documents/datacatalog.v1.json
+++ b/googleapiclient/discovery_cache/documents/datacatalog.v1.json
@@ -1841,7 +1841,7 @@
       }
     }
   },
-  "revision": "20210721",
+  "revision": "20210803",
   "rootUrl": "https://datacatalog.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json
index 5ce17b5..3472b2b 100644
--- a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json
@@ -1808,7 +1808,7 @@
       }
     }
   },
-  "revision": "20210721",
+  "revision": "20210803",
   "rootUrl": "https://datacatalog.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/dataflow.v1b3.json b/googleapiclient/discovery_cache/documents/dataflow.v1b3.json
index 98478bc..db7ad6b 100644
--- a/googleapiclient/discovery_cache/documents/dataflow.v1b3.json
+++ b/googleapiclient/discovery_cache/documents/dataflow.v1b3.json
@@ -2225,7 +2225,7 @@
       }
     }
   },
-  "revision": "20210720",
+  "revision": "20210803",
   "rootUrl": "https://dataflow.googleapis.com/",
   "schemas": {
     "ApproximateProgress": {
diff --git a/googleapiclient/discovery_cache/documents/datalabeling.v1beta1.json b/googleapiclient/discovery_cache/documents/datalabeling.v1beta1.json
index 4ced1dc..7329e87 100644
--- a/googleapiclient/discovery_cache/documents/datalabeling.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/datalabeling.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -1596,7 +1596,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210809",
   "rootUrl": "https://datalabeling.googleapis.com/",
   "schemas": {
     "GoogleCloudDatalabelingV1alpha1CreateInstructionMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/dataproc.v1.json b/googleapiclient/discovery_cache/documents/dataproc.v1.json
index d8e0c85..b2360bf 100644
--- a/googleapiclient/discovery_cache/documents/dataproc.v1.json
+++ b/googleapiclient/discovery_cache/documents/dataproc.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -2301,7 +2301,7 @@
       }
     }
   },
-  "revision": "20210715",
+  "revision": "20210812",
   "rootUrl": "https://dataproc.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -2490,7 +2490,7 @@
       "type": "object"
     },
     "Cluster": {
-      "description": "Describes the identifying information, config, and status of a cluster of Compute Engine instances.",
+      "description": "Describes the identifying information, config, and status of a Dataproc cluster",
       "id": "Cluster",
       "properties": {
         "clusterName": {
@@ -2504,7 +2504,7 @@
         },
         "config": {
           "$ref": "ClusterConfig",
-          "description": "Required. The cluster config. Note that Dataproc may set default values, and values may change when clusters are updated."
+          "description": "Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated."
         },
         "labels": {
           "additionalProperties": {
@@ -2547,7 +2547,7 @@
           "description": "Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset."
         },
         "configBucket": {
-          "description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.",
+          "description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.",
           "type": "string"
         },
         "encryptionConfig": {
@@ -2579,7 +2579,7 @@
         },
         "masterConfig": {
           "$ref": "InstanceGroupConfig",
-          "description": "Optional. The Compute Engine config settings for the master instance in a cluster."
+          "description": "Optional. The Compute Engine config settings for the cluster's master instance."
         },
         "metastoreConfig": {
           "$ref": "MetastoreConfig",
@@ -2587,7 +2587,7 @@
         },
         "secondaryWorkerConfig": {
           "$ref": "InstanceGroupConfig",
-          "description": "Optional. The Compute Engine config settings for additional worker instances in a cluster."
+          "description": "Optional. The Compute Engine config settings for a cluster's secondary worker instances"
         },
         "securityConfig": {
           "$ref": "SecurityConfig",
@@ -2595,15 +2595,15 @@
         },
         "softwareConfig": {
           "$ref": "SoftwareConfig",
-          "description": "Optional. The config settings for software inside the cluster."
+          "description": "Optional. The config settings for cluster software."
         },
         "tempBucket": {
-          "description": "Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.",
+          "description": "Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.",
           "type": "string"
         },
         "workerConfig": {
           "$ref": "InstanceGroupConfig",
-          "description": "Optional. The Compute Engine config settings for worker instances in a cluster."
+          "description": "Optional. The Compute Engine config settings for the cluster's worker instances."
         }
       },
       "type": "object"
@@ -3042,7 +3042,7 @@
       "type": "object"
     },
     "GkeClusterConfig": {
-      "description": "The GKE config for this cluster.",
+      "description": "The cluster's GKE config.",
       "id": "GkeClusterConfig",
       "properties": {
         "namespacedGkeDeploymentTarget": {
@@ -4041,7 +4041,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
diff --git a/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json b/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json
index 4460101..8e107ed 100644
--- a/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/dataproc.v1beta2.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -2291,7 +2291,7 @@
       }
     }
   },
-  "revision": "20210715",
+  "revision": "20210812",
   "rootUrl": "https://dataproc.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -3940,7 +3940,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
diff --git a/googleapiclient/discovery_cache/documents/datastore.v1.json b/googleapiclient/discovery_cache/documents/datastore.v1.json
index d8ec122..f4df930 100644
--- a/googleapiclient/discovery_cache/documents/datastore.v1.json
+++ b/googleapiclient/discovery_cache/documents/datastore.v1.json
@@ -625,7 +625,7 @@
       }
     }
   },
-  "revision": "20210719",
+  "revision": "20210805",
   "rootUrl": "https://datastore.googleapis.com/",
   "schemas": {
     "AllocateIdsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/datastore.v1beta1.json b/googleapiclient/discovery_cache/documents/datastore.v1beta1.json
index 776701a..2d4fb01 100644
--- a/googleapiclient/discovery_cache/documents/datastore.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/datastore.v1beta1.json
@@ -167,7 +167,7 @@
       }
     }
   },
-  "revision": "20210719",
+  "revision": "20210805",
   "rootUrl": "https://datastore.googleapis.com/",
   "schemas": {
     "GoogleDatastoreAdminV1CommonMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/datastore.v1beta3.json b/googleapiclient/discovery_cache/documents/datastore.v1beta3.json
index b29e1e0..91d60e2 100644
--- a/googleapiclient/discovery_cache/documents/datastore.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/datastore.v1beta3.json
@@ -307,7 +307,7 @@
       }
     }
   },
-  "revision": "20210719",
+  "revision": "20210805",
   "rootUrl": "https://datastore.googleapis.com/",
   "schemas": {
     "AllocateIdsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
index d440bbd..6e40746 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
@@ -1588,7 +1588,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210805",
   "rootUrl": "https://deploymentmanager.googleapis.com/",
   "schemas": {
     "AsyncOptions": {
diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json b/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
index e23b82c..e900904 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
@@ -988,7 +988,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210805",
   "rootUrl": "https://deploymentmanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json b/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
index f49ee93..76edb04 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
@@ -1552,7 +1552,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210805",
   "rootUrl": "https://deploymentmanager.googleapis.com/",
   "schemas": {
     "AsyncOptions": {
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2.json b/googleapiclient/discovery_cache/documents/dialogflow.v2.json
index ae5af6d..7dff950 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v2.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v2.json
@@ -3614,6 +3614,32 @@
                 "https://www.googleapis.com/auth/dialogflow"
               ]
             },
+            "get": {
+              "description": "Gets information about a location.",
+              "flatPath": "v2/projects/{projectsId}/locations/{locationsId}",
+              "httpMethod": "GET",
+              "id": "dialogflow.projects.locations.get",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Resource name for the location.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/locations/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v2/{+name}",
+              "response": {
+                "$ref": "GoogleCloudLocationLocation"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform",
+                "https://www.googleapis.com/auth/dialogflow"
+              ]
+            },
             "getAgent": {
               "description": "Retrieves the specified agent.",
               "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent",
@@ -3640,6 +3666,48 @@
                 "https://www.googleapis.com/auth/dialogflow"
               ]
             },
+            "list": {
+              "description": "Lists information about the supported locations for this service.",
+              "flatPath": "v2/projects/{projectsId}/locations",
+              "httpMethod": "GET",
+              "id": "dialogflow.projects.locations.list",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "filter": {
+                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
+                  "location": "query",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The resource that owns the locations collection, if applicable.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "pageSize": {
+                  "description": "The maximum number of results to return. If not set, the service selects a default.",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v2/{+name}/locations",
+              "response": {
+                "$ref": "GoogleCloudLocationListLocationsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform",
+                "https://www.googleapis.com/auth/dialogflow"
+              ]
+            },
             "setAgent": {
               "description": "Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).",
               "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent",
@@ -6915,7 +6983,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210816",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -11746,10 +11814,11 @@
           "type": "array"
         },
         "followupIntentInfo": {
-          "description": "Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.",
+          "description": "Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.",
           "items": {
             "$ref": "GoogleCloudDialogflowV2IntentFollowupIntentInfo"
           },
+          "readOnly": true,
           "type": "array"
         },
         "inputContextNames": {
@@ -11810,7 +11879,8 @@
           "type": "boolean"
         },
         "rootFollowupIntentName": {
-          "description": "Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.",
+          "description": "Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.",
+          "readOnly": true,
           "type": "string"
         },
         "trainingPhrases": {
@@ -15986,6 +16056,58 @@
       },
       "type": "object"
     },
+    "GoogleCloudLocationListLocationsResponse": {
+      "description": "The response message for Locations.ListLocations.",
+      "id": "GoogleCloudLocationListLocationsResponse",
+      "properties": {
+        "locations": {
+          "description": "A list of locations that matches the specified filter in the request.",
+          "items": {
+            "$ref": "GoogleCloudLocationLocation"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "The standard List next-page token.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudLocationLocation": {
+      "description": "A resource that represents Google Cloud Platform location.",
+      "id": "GoogleCloudLocationLocation",
+      "properties": {
+        "displayName": {
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
+          "type": "string"
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "type": "object"
+        },
+        "locationId": {
+          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
+          "type": "string"
+        },
+        "metadata": {
+          "additionalProperties": {
+            "description": "Properties of the object. Contains field @type with type URL.",
+            "type": "any"
+          },
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
+          "type": "object"
+        },
+        "name": {
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleLongrunningListOperationsResponse": {
       "description": "The response message for Operations.ListOperations.",
       "id": "GoogleLongrunningListOperationsResponse",
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
index a8a3afb..34e82fd 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
@@ -3823,6 +3823,32 @@
                 "https://www.googleapis.com/auth/dialogflow"
               ]
             },
+            "get": {
+              "description": "Gets information about a location.",
+              "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}",
+              "httpMethod": "GET",
+              "id": "dialogflow.projects.locations.get",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Resource name for the location.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/locations/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v2beta1/{+name}",
+              "response": {
+                "$ref": "GoogleCloudLocationLocation"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform",
+                "https://www.googleapis.com/auth/dialogflow"
+              ]
+            },
             "getAgent": {
               "description": "Retrieves the specified agent.",
               "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent",
@@ -3849,6 +3875,48 @@
                 "https://www.googleapis.com/auth/dialogflow"
               ]
             },
+            "list": {
+              "description": "Lists information about the supported locations for this service.",
+              "flatPath": "v2beta1/projects/{projectsId}/locations",
+              "httpMethod": "GET",
+              "id": "dialogflow.projects.locations.list",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "filter": {
+                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
+                  "location": "query",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The resource that owns the locations collection, if applicable.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "pageSize": {
+                  "description": "The maximum number of results to return. If not set, the service selects a default.",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v2beta1/{+name}/locations",
+              "response": {
+                "$ref": "GoogleCloudLocationListLocationsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform",
+                "https://www.googleapis.com/auth/dialogflow"
+              ]
+            },
             "setAgent": {
               "description": "Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).",
               "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent",
@@ -7247,7 +7315,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210806",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -10763,10 +10831,11 @@
           "type": "array"
         },
         "followupIntentInfo": {
-          "description": "Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.",
+          "description": "Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.",
           "items": {
             "$ref": "GoogleCloudDialogflowV2IntentFollowupIntentInfo"
           },
+          "readOnly": true,
           "type": "array"
         },
         "inputContextNames": {
@@ -10827,7 +10896,8 @@
           "type": "boolean"
         },
         "rootFollowupIntentName": {
-          "description": "Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.",
+          "description": "Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.",
+          "readOnly": true,
           "type": "string"
         },
         "trainingPhrases": {
@@ -16860,6 +16930,58 @@
       },
       "type": "object"
     },
+    "GoogleCloudLocationListLocationsResponse": {
+      "description": "The response message for Locations.ListLocations.",
+      "id": "GoogleCloudLocationListLocationsResponse",
+      "properties": {
+        "locations": {
+          "description": "A list of locations that matches the specified filter in the request.",
+          "items": {
+            "$ref": "GoogleCloudLocationLocation"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "The standard List next-page token.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudLocationLocation": {
+      "description": "A resource that represents Google Cloud Platform location.",
+      "id": "GoogleCloudLocationLocation",
+      "properties": {
+        "displayName": {
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
+          "type": "string"
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "type": "object"
+        },
+        "locationId": {
+          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
+          "type": "string"
+        },
+        "metadata": {
+          "additionalProperties": {
+            "description": "Properties of the object. Contains field @type with type URL.",
+            "type": "any"
+          },
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
+          "type": "object"
+        },
+        "name": {
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleLongrunningListOperationsResponse": {
       "description": "The response message for Operations.ListOperations.",
       "id": "GoogleLongrunningListOperationsResponse",
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3.json b/googleapiclient/discovery_cache/documents/dialogflow.v3.json
index 26c14d2..bdaee9b 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v3.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v3.json
@@ -111,6 +111,76 @@
     "projects": {
       "resources": {
         "locations": {
+          "methods": {
+            "get": {
+              "description": "Gets information about a location.",
+              "flatPath": "v3/projects/{projectsId}/locations/{locationsId}",
+              "httpMethod": "GET",
+              "id": "dialogflow.projects.locations.get",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Resource name for the location.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/locations/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v3/{+name}",
+              "response": {
+                "$ref": "GoogleCloudLocationLocation"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform",
+                "https://www.googleapis.com/auth/dialogflow"
+              ]
+            },
+            "list": {
+              "description": "Lists information about the supported locations for this service.",
+              "flatPath": "v3/projects/{projectsId}/locations",
+              "httpMethod": "GET",
+              "id": "dialogflow.projects.locations.list",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "filter": {
+                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
+                  "location": "query",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The resource that owns the locations collection, if applicable.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "pageSize": {
+                  "description": "The maximum number of results to return. If not set, the service selects a default.",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v3/{+name}/locations",
+              "response": {
+                "$ref": "GoogleCloudLocationListLocationsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform",
+                "https://www.googleapis.com/auth/dialogflow"
+              ]
+            }
+          },
           "resources": {
             "agents": {
               "methods": {
@@ -3553,7 +3623,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210806",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AdvancedSettings": {
@@ -6285,16 +6355,20 @@
       "description": "Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.",
       "id": "GoogleCloudDialogflowCxV3SecuritySettings",
       "properties": {
+        "deidentifyTemplate": {
+          "description": "[DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.",
+          "type": "string"
+        },
         "displayName": {
           "description": "Required. The human-readable name of the security settings, unique within the location.",
           "type": "string"
         },
         "insightsExportSettings": {
           "$ref": "GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings",
-          "description": "Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here."
+          "description": "Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here."
         },
         "inspectTemplate": {
-          "description": "[DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`",
+          "description": "[DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.",
           "type": "string"
         },
         "name": {
@@ -9294,10 +9368,11 @@
           "type": "array"
         },
         "followupIntentInfo": {
-          "description": "Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.",
+          "description": "Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.",
           "items": {
             "$ref": "GoogleCloudDialogflowV2IntentFollowupIntentInfo"
           },
+          "readOnly": true,
           "type": "array"
         },
         "inputContextNames": {
@@ -9358,7 +9433,8 @@
           "type": "boolean"
         },
         "rootFollowupIntentName": {
-          "description": "Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.",
+          "description": "Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.",
+          "readOnly": true,
           "type": "string"
         },
         "trainingPhrases": {
@@ -12707,6 +12783,58 @@
       },
       "type": "object"
     },
+    "GoogleCloudLocationListLocationsResponse": {
+      "description": "The response message for Locations.ListLocations.",
+      "id": "GoogleCloudLocationListLocationsResponse",
+      "properties": {
+        "locations": {
+          "description": "A list of locations that matches the specified filter in the request.",
+          "items": {
+            "$ref": "GoogleCloudLocationLocation"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "The standard List next-page token.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudLocationLocation": {
+      "description": "A resource that represents Google Cloud Platform location.",
+      "id": "GoogleCloudLocationLocation",
+      "properties": {
+        "displayName": {
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
+          "type": "string"
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "type": "object"
+        },
+        "locationId": {
+          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
+          "type": "string"
+        },
+        "metadata": {
+          "additionalProperties": {
+            "description": "Properties of the object. Contains field @type with type URL.",
+            "type": "any"
+          },
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
+          "type": "object"
+        },
+        "name": {
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleLongrunningListOperationsResponse": {
       "description": "The response message for Operations.ListOperations.",
       "id": "GoogleLongrunningListOperationsResponse",
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
index 1fe7408..f309ebf 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
@@ -111,6 +111,76 @@
     "projects": {
       "resources": {
         "locations": {
+          "methods": {
+            "get": {
+              "description": "Gets information about a location.",
+              "flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}",
+              "httpMethod": "GET",
+              "id": "dialogflow.projects.locations.get",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Resource name for the location.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/locations/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v3beta1/{+name}",
+              "response": {
+                "$ref": "GoogleCloudLocationLocation"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform",
+                "https://www.googleapis.com/auth/dialogflow"
+              ]
+            },
+            "list": {
+              "description": "Lists information about the supported locations for this service.",
+              "flatPath": "v3beta1/projects/{projectsId}/locations",
+              "httpMethod": "GET",
+              "id": "dialogflow.projects.locations.list",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "filter": {
+                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
+                  "location": "query",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The resource that owns the locations collection, if applicable.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "pageSize": {
+                  "description": "The maximum number of results to return. If not set, the service selects a default.",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v3beta1/{+name}/locations",
+              "response": {
+                "$ref": "GoogleCloudLocationListLocationsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform",
+                "https://www.googleapis.com/auth/dialogflow"
+              ]
+            }
+          },
           "resources": {
             "agents": {
               "methods": {
@@ -3553,7 +3623,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210806",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -7856,16 +7926,20 @@
       "description": "Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.",
       "id": "GoogleCloudDialogflowCxV3beta1SecuritySettings",
       "properties": {
+        "deidentifyTemplate": {
+          "description": "[DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.",
+          "type": "string"
+        },
         "displayName": {
           "description": "Required. The human-readable name of the security settings, unique within the location.",
           "type": "string"
         },
         "insightsExportSettings": {
           "$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettings",
-          "description": "Optional. Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here."
+          "description": "Controls conversation exporting settings to Insights after conversation is completed. If retention_strategy is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter what you configure here."
         },
         "inspectTemplate": {
-          "description": "[DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//inspectTemplates/` OR `projects//locations//inspectTemplates/` OR `organizations//inspectTemplates/`",
+          "description": "[DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects//locations//inspectTemplates/` OR `organizations//locations//inspectTemplates/` Note: `inspect_template` must be located in the same region as the `SecuritySettings`.",
           "type": "string"
         },
         "name": {
@@ -9294,10 +9368,11 @@
           "type": "array"
         },
         "followupIntentInfo": {
-          "description": "Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.",
+          "description": "Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.",
           "items": {
             "$ref": "GoogleCloudDialogflowV2IntentFollowupIntentInfo"
           },
+          "readOnly": true,
           "type": "array"
         },
         "inputContextNames": {
@@ -9358,7 +9433,8 @@
           "type": "boolean"
         },
         "rootFollowupIntentName": {
-          "description": "Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.",
+          "description": "Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//agent/intents/`.",
+          "readOnly": true,
           "type": "string"
         },
         "trainingPhrases": {
@@ -12707,6 +12783,58 @@
       },
       "type": "object"
     },
+    "GoogleCloudLocationListLocationsResponse": {
+      "description": "The response message for Locations.ListLocations.",
+      "id": "GoogleCloudLocationListLocationsResponse",
+      "properties": {
+        "locations": {
+          "description": "A list of locations that matches the specified filter in the request.",
+          "items": {
+            "$ref": "GoogleCloudLocationLocation"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "The standard List next-page token.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudLocationLocation": {
+      "description": "A resource that represents Google Cloud Platform location.",
+      "id": "GoogleCloudLocationLocation",
+      "properties": {
+        "displayName": {
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
+          "type": "string"
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "type": "object"
+        },
+        "locationId": {
+          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
+          "type": "string"
+        },
+        "metadata": {
+          "additionalProperties": {
+            "description": "Properties of the object. Contains field @type with type URL.",
+            "type": "any"
+          },
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
+          "type": "object"
+        },
+        "name": {
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleLongrunningListOperationsResponse": {
       "description": "The response message for Operations.ListOperations.",
       "id": "GoogleLongrunningListOperationsResponse",
diff --git a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
index 6c2c3d7..c3a029a 100644
--- a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
+++ b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
@@ -184,7 +184,7 @@
       }
     }
   },
-  "revision": "20210805",
+  "revision": "20210810",
   "rootUrl": "https://digitalassetlinks.googleapis.com/",
   "schemas": {
     "AndroidAppAsset": {
diff --git a/googleapiclient/discovery_cache/documents/displayvideo.v1.json b/googleapiclient/discovery_cache/documents/displayvideo.v1.json
index 10c853d..b921a17 100644
--- a/googleapiclient/discovery_cache/documents/displayvideo.v1.json
+++ b/googleapiclient/discovery_cache/documents/displayvideo.v1.json
@@ -754,8 +754,6 @@
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
                             "TARGETING_TYPE_SUB_EXCHANGE",
-                            "TARGETING_TYPE_POI",
-                            "TARGETING_TYPE_BUSINESS_CHAIN",
                             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                             "TARGETING_TYPE_OMID"
                           ],
@@ -798,8 +796,6 @@
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
                             "Purchase impressions from specific sub-exchanges.",
-                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                            "Target ads around locations of a business chain within a specific geo region.",
                             "Target ads to a specific native content position.",
                             "Target ads in an Open Measurement enabled inventory."
                           ],
@@ -906,8 +902,6 @@
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
                             "TARGETING_TYPE_SUB_EXCHANGE",
-                            "TARGETING_TYPE_POI",
-                            "TARGETING_TYPE_BUSINESS_CHAIN",
                             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                             "TARGETING_TYPE_OMID"
                           ],
@@ -950,8 +944,6 @@
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
                             "Purchase impressions from specific sub-exchanges.",
-                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                            "Target ads around locations of a business chain within a specific geo region.",
                             "Target ads to a specific native content position.",
                             "Target ads in an Open Measurement enabled inventory."
                           ],
@@ -1914,8 +1906,6 @@
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
                             "TARGETING_TYPE_SUB_EXCHANGE",
-                            "TARGETING_TYPE_POI",
-                            "TARGETING_TYPE_BUSINESS_CHAIN",
                             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                             "TARGETING_TYPE_OMID"
                           ],
@@ -1958,8 +1948,6 @@
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
                             "Purchase impressions from specific sub-exchanges.",
-                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                            "Target ads around locations of a business chain within a specific geo region.",
                             "Target ads to a specific native content position.",
                             "Target ads in an Open Measurement enabled inventory."
                           ],
@@ -2066,8 +2054,6 @@
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
                             "TARGETING_TYPE_SUB_EXCHANGE",
-                            "TARGETING_TYPE_POI",
-                            "TARGETING_TYPE_BUSINESS_CHAIN",
                             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                             "TARGETING_TYPE_OMID"
                           ],
@@ -2110,8 +2096,6 @@
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
                             "Purchase impressions from specific sub-exchanges.",
-                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                            "Target ads around locations of a business chain within a specific geo region.",
                             "Target ads to a specific native content position.",
                             "Target ads in an Open Measurement enabled inventory."
                           ],
@@ -2618,8 +2602,6 @@
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
                             "TARGETING_TYPE_SUB_EXCHANGE",
-                            "TARGETING_TYPE_POI",
-                            "TARGETING_TYPE_BUSINESS_CHAIN",
                             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                             "TARGETING_TYPE_OMID"
                           ],
@@ -2662,8 +2644,6 @@
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
                             "Purchase impressions from specific sub-exchanges.",
-                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                            "Target ads around locations of a business chain within a specific geo region.",
                             "Target ads to a specific native content position.",
                             "Target ads in an Open Measurement enabled inventory."
                           ],
@@ -2760,8 +2740,6 @@
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
                             "TARGETING_TYPE_SUB_EXCHANGE",
-                            "TARGETING_TYPE_POI",
-                            "TARGETING_TYPE_BUSINESS_CHAIN",
                             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                             "TARGETING_TYPE_OMID"
                           ],
@@ -2804,8 +2782,6 @@
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
                             "Purchase impressions from specific sub-exchanges.",
-                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                            "Target ads around locations of a business chain within a specific geo region.",
                             "Target ads to a specific native content position.",
                             "Target ads in an Open Measurement enabled inventory."
                           ],
@@ -2899,8 +2875,6 @@
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
                             "TARGETING_TYPE_SUB_EXCHANGE",
-                            "TARGETING_TYPE_POI",
-                            "TARGETING_TYPE_BUSINESS_CHAIN",
                             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                             "TARGETING_TYPE_OMID"
                           ],
@@ -2943,8 +2917,6 @@
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
                             "Purchase impressions from specific sub-exchanges.",
-                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                            "Target ads around locations of a business chain within a specific geo region.",
                             "Target ads to a specific native content position.",
                             "Target ads in an Open Measurement enabled inventory."
                           ],
@@ -3051,8 +3023,6 @@
                             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                             "TARGETING_TYPE_EXCHANGE",
                             "TARGETING_TYPE_SUB_EXCHANGE",
-                            "TARGETING_TYPE_POI",
-                            "TARGETING_TYPE_BUSINESS_CHAIN",
                             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                             "TARGETING_TYPE_OMID"
                           ],
@@ -3095,8 +3065,6 @@
                             "Purchase impressions from a group of deals and auction packages.",
                             "Purchase impressions from specific exchanges.",
                             "Purchase impressions from specific sub-exchanges.",
-                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                            "Target ads around locations of a business chain within a specific geo region.",
                             "Target ads to a specific native content position.",
                             "Target ads in an Open Measurement enabled inventory."
                           ],
@@ -4149,8 +4117,6 @@
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
                         "TARGETING_TYPE_SUB_EXCHANGE",
-                        "TARGETING_TYPE_POI",
-                        "TARGETING_TYPE_BUSINESS_CHAIN",
                         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                         "TARGETING_TYPE_OMID"
                       ],
@@ -4193,8 +4159,6 @@
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
                         "Purchase impressions from specific sub-exchanges.",
-                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                        "Target ads around locations of a business chain within a specific geo region.",
                         "Target ads to a specific native content position.",
                         "Target ads in an Open Measurement enabled inventory."
                       ],
@@ -4282,8 +4246,6 @@
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
                         "TARGETING_TYPE_SUB_EXCHANGE",
-                        "TARGETING_TYPE_POI",
-                        "TARGETING_TYPE_BUSINESS_CHAIN",
                         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                         "TARGETING_TYPE_OMID"
                       ],
@@ -4326,8 +4288,6 @@
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
                         "Purchase impressions from specific sub-exchanges.",
-                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                        "Target ads around locations of a business chain within a specific geo region.",
                         "Target ads to a specific native content position.",
                         "Target ads in an Open Measurement enabled inventory."
                       ],
@@ -4412,8 +4372,6 @@
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
                         "TARGETING_TYPE_SUB_EXCHANGE",
-                        "TARGETING_TYPE_POI",
-                        "TARGETING_TYPE_BUSINESS_CHAIN",
                         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                         "TARGETING_TYPE_OMID"
                       ],
@@ -4456,8 +4414,6 @@
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
                         "Purchase impressions from specific sub-exchanges.",
-                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                        "Target ads around locations of a business chain within a specific geo region.",
                         "Target ads to a specific native content position.",
                         "Target ads in an Open Measurement enabled inventory."
                       ],
@@ -4555,8 +4511,6 @@
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
                         "TARGETING_TYPE_SUB_EXCHANGE",
-                        "TARGETING_TYPE_POI",
-                        "TARGETING_TYPE_BUSINESS_CHAIN",
                         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                         "TARGETING_TYPE_OMID"
                       ],
@@ -4599,8 +4553,6 @@
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
                         "Purchase impressions from specific sub-exchanges.",
-                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                        "Target ads around locations of a business chain within a specific geo region.",
                         "Target ads to a specific native content position.",
                         "Target ads in an Open Measurement enabled inventory."
                       ],
@@ -6221,8 +6173,6 @@
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
                         "TARGETING_TYPE_SUB_EXCHANGE",
-                        "TARGETING_TYPE_POI",
-                        "TARGETING_TYPE_BUSINESS_CHAIN",
                         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                         "TARGETING_TYPE_OMID"
                       ],
@@ -6265,8 +6215,6 @@
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
                         "Purchase impressions from specific sub-exchanges.",
-                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                        "Target ads around locations of a business chain within a specific geo region.",
                         "Target ads to a specific native content position.",
                         "Target ads in an Open Measurement enabled inventory."
                       ],
@@ -6354,8 +6302,6 @@
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
                         "TARGETING_TYPE_SUB_EXCHANGE",
-                        "TARGETING_TYPE_POI",
-                        "TARGETING_TYPE_BUSINESS_CHAIN",
                         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                         "TARGETING_TYPE_OMID"
                       ],
@@ -6398,8 +6344,6 @@
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
                         "Purchase impressions from specific sub-exchanges.",
-                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                        "Target ads around locations of a business chain within a specific geo region.",
                         "Target ads to a specific native content position.",
                         "Target ads in an Open Measurement enabled inventory."
                       ],
@@ -6484,8 +6428,6 @@
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
                         "TARGETING_TYPE_SUB_EXCHANGE",
-                        "TARGETING_TYPE_POI",
-                        "TARGETING_TYPE_BUSINESS_CHAIN",
                         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                         "TARGETING_TYPE_OMID"
                       ],
@@ -6528,8 +6470,6 @@
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
                         "Purchase impressions from specific sub-exchanges.",
-                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                        "Target ads around locations of a business chain within a specific geo region.",
                         "Target ads to a specific native content position.",
                         "Target ads in an Open Measurement enabled inventory."
                       ],
@@ -6627,8 +6567,6 @@
                         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                         "TARGETING_TYPE_EXCHANGE",
                         "TARGETING_TYPE_SUB_EXCHANGE",
-                        "TARGETING_TYPE_POI",
-                        "TARGETING_TYPE_BUSINESS_CHAIN",
                         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                         "TARGETING_TYPE_OMID"
                       ],
@@ -6671,8 +6609,6 @@
                         "Purchase impressions from a group of deals and auction packages.",
                         "Purchase impressions from specific exchanges.",
                         "Purchase impressions from specific sub-exchanges.",
-                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                        "Target ads around locations of a business chain within a specific geo region.",
                         "Target ads to a specific native content position.",
                         "Target ads in an Open Measurement enabled inventory."
                       ],
@@ -6818,8 +6754,6 @@
                     "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                     "TARGETING_TYPE_EXCHANGE",
                     "TARGETING_TYPE_SUB_EXCHANGE",
-                    "TARGETING_TYPE_POI",
-                    "TARGETING_TYPE_BUSINESS_CHAIN",
                     "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                     "TARGETING_TYPE_OMID"
                   ],
@@ -6862,8 +6796,6 @@
                     "Purchase impressions from a group of deals and auction packages.",
                     "Purchase impressions from specific exchanges.",
                     "Purchase impressions from specific sub-exchanges.",
-                    "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                    "Target ads around locations of a business chain within a specific geo region.",
                     "Target ads to a specific native content position.",
                     "Target ads in an Open Measurement enabled inventory."
                   ],
@@ -6958,8 +6890,6 @@
                     "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                     "TARGETING_TYPE_EXCHANGE",
                     "TARGETING_TYPE_SUB_EXCHANGE",
-                    "TARGETING_TYPE_POI",
-                    "TARGETING_TYPE_BUSINESS_CHAIN",
                     "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                     "TARGETING_TYPE_OMID"
                   ],
@@ -7002,8 +6932,6 @@
                     "Purchase impressions from a group of deals and auction packages.",
                     "Purchase impressions from specific exchanges.",
                     "Purchase impressions from specific sub-exchanges.",
-                    "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                    "Target ads around locations of a business chain within a specific geo region.",
                     "Target ads to a specific native content position.",
                     "Target ads in an Open Measurement enabled inventory."
                   ],
@@ -7031,7 +6959,7 @@
               ],
               "parameters": {
                 "targetingType": {
-                  "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN`",
+                  "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION`",
                   "enum": [
                     "TARGETING_TYPE_UNSPECIFIED",
                     "TARGETING_TYPE_CHANNEL",
@@ -7071,8 +6999,6 @@
                     "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                     "TARGETING_TYPE_EXCHANGE",
                     "TARGETING_TYPE_SUB_EXCHANGE",
-                    "TARGETING_TYPE_POI",
-                    "TARGETING_TYPE_BUSINESS_CHAIN",
                     "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                     "TARGETING_TYPE_OMID"
                   ],
@@ -7115,8 +7041,6 @@
                     "Purchase impressions from a group of deals and auction packages.",
                     "Purchase impressions from specific exchanges.",
                     "Purchase impressions from specific sub-exchanges.",
-                    "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-                    "Target ads around locations of a business chain within a specific geo region.",
                     "Target ads to a specific native content position.",
                     "Target ads in an Open Measurement enabled inventory."
                   ],
@@ -7317,7 +7241,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210812",
   "rootUrl": "https://displayvideo.googleapis.com/",
   "schemas": {
     "ActivateManualTriggerRequest": {
@@ -7950,10 +7874,6 @@
           "$ref": "BrowserAssignedTargetingOptionDetails",
           "description": "Browser details. This field will be populated when the targeting_type is `TARGETING_TYPE_BROWSER`."
         },
-        "businessChainDetails": {
-          "$ref": "BusinessChainAssignedTargetingOptionDetails",
-          "description": "Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`."
-        },
         "carrierAndIspDetails": {
           "$ref": "CarrierAndIspAssignedTargetingOptionDetails",
           "description": "Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`."
@@ -8072,10 +7992,6 @@
           "$ref": "ParentalStatusAssignedTargetingOptionDetails",
           "description": "Parental status details. This field will be populated when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`."
         },
-        "poiDetails": {
-          "$ref": "PoiAssignedTargetingOptionDetails",
-          "description": "POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`."
-        },
         "proximityLocationListDetails": {
           "$ref": "ProximityLocationListAssignedTargetingOptionDetails",
           "description": "Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`."
@@ -8133,8 +8049,6 @@
             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
             "TARGETING_TYPE_EXCHANGE",
             "TARGETING_TYPE_SUB_EXCHANGE",
-            "TARGETING_TYPE_POI",
-            "TARGETING_TYPE_BUSINESS_CHAIN",
             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
             "TARGETING_TYPE_OMID"
           ],
@@ -8177,8 +8091,6 @@
             "Purchase impressions from a group of deals and auction packages.",
             "Purchase impressions from specific exchanges.",
             "Purchase impressions from specific sub-exchanges.",
-            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-            "Target ads around locations of a business chain within a specific geo region.",
             "Target ads to a specific native content position.",
             "Target ads in an Open Measurement enabled inventory."
           ],
@@ -8857,140 +8769,6 @@
       },
       "type": "object"
     },
-    "BusinessChainAssignedTargetingOptionDetails": {
-      "description": "Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.",
-      "id": "BusinessChainAssignedTargetingOptionDetails",
-      "properties": {
-        "displayName": {
-          "description": "Output only. The display name of a business chain, e.g. \"KFC\", \"Chase Bank\".",
-          "readOnly": true,
-          "type": "string"
-        },
-        "proximityRadiusAmount": {
-          "description": "Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.",
-          "format": "double",
-          "type": "number"
-        },
-        "proximityRadiusUnit": {
-          "description": "Required. The unit of distance by which the targeting radius is measured.",
-          "enum": [
-            "DISTANCE_UNIT_UNSPECIFIED",
-            "DISTANCE_UNIT_MILES",
-            "DISTANCE_UNIT_KILOMETERS"
-          ],
-          "enumDescriptions": [
-            "Type value is not specified or is unknown in this version.",
-            "Miles.",
-            "Kilometers."
-          ],
-          "type": "string"
-        },
-        "targetingOptionId": {
-          "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
-    "BusinessChainSearchTerms": {
-      "description": "Search terms for Business Chain targeting options. At least one of the field should be populated.",
-      "id": "BusinessChainSearchTerms",
-      "properties": {
-        "businessChain": {
-          "description": "The search query for the desired business chain. The query can be a prefix, e.g. \"KFC\", \"mercede\".",
-          "type": "string"
-        },
-        "region": {
-          "description": "The search query for the desired geo region, e.g. \"Seattle\", \"United State\".",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
-    "BusinessChainTargetingOptionDetails": {
-      "description": "Represents a targetable business chain within a geo region. This will be populated in the business_chain_details field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.",
-      "id": "BusinessChainTargetingOptionDetails",
-      "properties": {
-        "businessChain": {
-          "description": "Output only. The display name of the business chain, e.g. \"KFC\", \"Chase Bank\".",
-          "readOnly": true,
-          "type": "string"
-        },
-        "geoRegion": {
-          "description": "Output only. The display name of the geographic region, e.g. \"Ontario, Canada\".",
-          "readOnly": true,
-          "type": "string"
-        },
-        "geoRegionType": {
-          "description": "Output only. The type of the geographic region.",
-          "enum": [
-            "GEO_REGION_TYPE_UNKNOWN",
-            "GEO_REGION_TYPE_OTHER",
-            "GEO_REGION_TYPE_COUNTRY",
-            "GEO_REGION_TYPE_REGION",
-            "GEO_REGION_TYPE_TERRITORY",
-            "GEO_REGION_TYPE_PROVINCE",
-            "GEO_REGION_TYPE_STATE",
-            "GEO_REGION_TYPE_PREFECTURE",
-            "GEO_REGION_TYPE_GOVERNORATE",
-            "GEO_REGION_TYPE_CANTON",
-            "GEO_REGION_TYPE_UNION_TERRITORY",
-            "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY",
-            "GEO_REGION_TYPE_DMA_REGION",
-            "GEO_REGION_TYPE_METRO",
-            "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT",
-            "GEO_REGION_TYPE_COUNTY",
-            "GEO_REGION_TYPE_MUNICIPALITY",
-            "GEO_REGION_TYPE_CITY",
-            "GEO_REGION_TYPE_POSTAL_CODE",
-            "GEO_REGION_TYPE_DEPARTMENT",
-            "GEO_REGION_TYPE_AIRPORT",
-            "GEO_REGION_TYPE_TV_REGION",
-            "GEO_REGION_TYPE_OKRUG",
-            "GEO_REGION_TYPE_BOROUGH",
-            "GEO_REGION_TYPE_CITY_REGION",
-            "GEO_REGION_TYPE_ARRONDISSEMENT",
-            "GEO_REGION_TYPE_NEIGHBORHOOD",
-            "GEO_REGION_TYPE_UNIVERSITY",
-            "GEO_REGION_TYPE_DISTRICT"
-          ],
-          "enumDescriptions": [
-            "The geographic region type is unknown.",
-            "The geographic region type is other.",
-            "The geographic region is a country.",
-            "The geographic region type is region.",
-            "The geographic region is a territory.",
-            "The geographic region is a province.",
-            "The geographic region is a state.",
-            "The geographic region is a prefecture.",
-            "The geographic region is a governorate.",
-            "The geographic region is a canton.",
-            "The geographic region is a union territory.",
-            "The geographic region is an autonomous community.",
-            "The geographic region is a designated market area (DMA) region.",
-            "The geographic region type is metro.",
-            "The geographic region is a congressional district.",
-            "The geographic region is a county.",
-            "The geographic region is a municipality.",
-            "The geographic region is a city.",
-            "The geographic region targeting type is postal code.",
-            "The geographic region targeting type is department.",
-            "The geographic region is an airport.",
-            "The geographic region is a TV region.",
-            "The geographic region is an okrug.",
-            "The geographic region is a borough.",
-            "The geographic region is a city region.",
-            "The geographic region is an arrondissement.",
-            "The geographic region is a neighborhood.",
-            "The geographic region is a university.",
-            "The geographic region is a district."
-          ],
-          "readOnly": true,
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
     "Campaign": {
       "description": "A single campaign.",
       "id": "Campaign",
@@ -9679,8 +9457,6 @@
             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
             "TARGETING_TYPE_EXCHANGE",
             "TARGETING_TYPE_SUB_EXCHANGE",
-            "TARGETING_TYPE_POI",
-            "TARGETING_TYPE_BUSINESS_CHAIN",
             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
             "TARGETING_TYPE_OMID"
           ],
@@ -9723,8 +9499,6 @@
             "Purchase impressions from a group of deals and auction packages.",
             "Purchase impressions from specific exchanges.",
             "Purchase impressions from specific sub-exchanges.",
-            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-            "Target ads around locations of a business chain within a specific geo region.",
             "Target ads to a specific native content position.",
             "Target ads in an Open Measurement enabled inventory."
           ],
@@ -10464,8 +10238,6 @@
             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
             "TARGETING_TYPE_EXCHANGE",
             "TARGETING_TYPE_SUB_EXCHANGE",
-            "TARGETING_TYPE_POI",
-            "TARGETING_TYPE_BUSINESS_CHAIN",
             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
             "TARGETING_TYPE_OMID"
           ],
@@ -10508,8 +10280,6 @@
             "Purchase impressions from a group of deals and auction packages.",
             "Purchase impressions from specific exchanges.",
             "Purchase impressions from specific sub-exchanges.",
-            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-            "Target ads around locations of a business chain within a specific geo region.",
             "Target ads to a specific native content position.",
             "Target ads in an Open Measurement enabled inventory."
           ],
@@ -15243,88 +15013,6 @@
       },
       "type": "object"
     },
-    "PoiAssignedTargetingOptionDetails": {
-      "description": "Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`.",
-      "id": "PoiAssignedTargetingOptionDetails",
-      "properties": {
-        "displayName": {
-          "description": "Output only. The display name of a POI, e.g. \"Times Square\", \"Space Needle\".",
-          "readOnly": true,
-          "type": "string"
-        },
-        "latitude": {
-          "description": "Output only. Latitude of the POI rounding to 6th decimal place.",
-          "format": "double",
-          "readOnly": true,
-          "type": "number"
-        },
-        "longitude": {
-          "description": "Output only. Longitude of the POI rounding to 6th decimal place.",
-          "format": "double",
-          "readOnly": true,
-          "type": "number"
-        },
-        "proximityRadiusAmount": {
-          "description": "Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.",
-          "format": "double",
-          "type": "number"
-        },
-        "proximityRadiusUnit": {
-          "description": "Required. The unit of distance by which the targeting radius is measured.",
-          "enum": [
-            "DISTANCE_UNIT_UNSPECIFIED",
-            "DISTANCE_UNIT_MILES",
-            "DISTANCE_UNIT_KILOMETERS"
-          ],
-          "enumDescriptions": [
-            "Type value is not specified or is unknown in this version.",
-            "Miles.",
-            "Kilometers."
-          ],
-          "type": "string"
-        },
-        "targetingOptionId": {
-          "description": "Input only. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`.",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
-    "PoiSearchTerms": {
-      "description": "Search terms for POI targeting options.",
-      "id": "PoiSearchTerms",
-      "properties": {
-        "poiQuery": {
-          "description": "The search query for the desired POI name, street address, or coordinate of the desired POI. The query can be a prefix, e.g. \"Times squar\", \"40.7505045,-73.99562\", \"315 W 44th St\", etc.",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
-    "PoiTargetingOptionDetails": {
-      "description": "Represents a targetable point of interest(POI). This will be populated in the poi_details field when targeting_type is `TARGETING_TYPE_POI`.",
-      "id": "PoiTargetingOptionDetails",
-      "properties": {
-        "displayName": {
-          "description": "Output only. The display name of a POI, e.g. \"Times Square\", \"Space Needle\".",
-          "readOnly": true,
-          "type": "string"
-        },
-        "latitude": {
-          "description": "Output only. Latitude of the POI rounding to 6th decimal place.",
-          "format": "double",
-          "readOnly": true,
-          "type": "number"
-        },
-        "longitude": {
-          "description": "Output only. Longitude of the POI rounding to 6th decimal place.",
-          "format": "double",
-          "readOnly": true,
-          "type": "number"
-        }
-      },
-      "type": "object"
-    },
     "PrismaConfig": {
       "description": "Settings specific to the Mediaocean Prisma tool.",
       "id": "PrismaConfig",
@@ -15728,10 +15416,6 @@
           "format": "int64",
           "type": "string"
         },
-        "businessChainSearchTerms": {
-          "$ref": "BusinessChainSearchTerms",
-          "description": "Search terms for Business Chain targeting options. Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`."
-        },
         "geoRegionSearchTerms": {
           "$ref": "GeoRegionSearchTerms",
           "description": "Search terms for geo region targeting options. Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`."
@@ -15744,16 +15428,12 @@
         "pageToken": {
           "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `SearchTargetingOptions` method. If not specified, the first page of results will be returned.",
           "type": "string"
-        },
-        "poiSearchTerms": {
-          "$ref": "PoiSearchTerms",
-          "description": "Search terms for POI targeting options. Can only be used when targeting_type is `TARGETING_TYPE_POI`."
         }
       },
       "type": "object"
     },
     "SearchTargetingOptionsResponse": {
-      "description": "Response message for SearchTargetingOptionsResponse.",
+      "description": "Response message for SearchTargetingOptions.",
       "id": "SearchTargetingOptionsResponse",
       "properties": {
         "nextPageToken": {
@@ -15997,10 +15677,6 @@
           "$ref": "BrowserTargetingOptionDetails",
           "description": "Browser details."
         },
-        "businessChainDetails": {
-          "$ref": "BusinessChainTargetingOptionDetails",
-          "description": "Business chain resource details."
-        },
         "carrierAndIspDetails": {
           "$ref": "CarrierAndIspTargetingOptionDetails",
           "description": "Carrier and ISP details."
@@ -16078,10 +15754,6 @@
           "$ref": "ParentalStatusTargetingOptionDetails",
           "description": "Parental status details."
         },
-        "poiDetails": {
-          "$ref": "PoiTargetingOptionDetails",
-          "description": "POI resource details."
-        },
         "sensitiveCategoryDetails": {
           "$ref": "SensitiveCategoryTargetingOptionDetails",
           "description": "Sensitive Category details."
@@ -16136,8 +15808,6 @@
             "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
             "TARGETING_TYPE_EXCHANGE",
             "TARGETING_TYPE_SUB_EXCHANGE",
-            "TARGETING_TYPE_POI",
-            "TARGETING_TYPE_BUSINESS_CHAIN",
             "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
             "TARGETING_TYPE_OMID"
           ],
@@ -16180,8 +15850,6 @@
             "Purchase impressions from a group of deals and auction packages.",
             "Purchase impressions from specific exchanges.",
             "Purchase impressions from specific sub-exchanges.",
-            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
-            "Target ads around locations of a business chain within a specific geo region.",
             "Target ads to a specific native content position.",
             "Target ads in an Open Measurement enabled inventory."
           ],
diff --git a/googleapiclient/discovery_cache/documents/dlp.v2.json b/googleapiclient/discovery_cache/documents/dlp.v2.json
index fb80fb8..2fb8101 100644
--- a/googleapiclient/discovery_cache/documents/dlp.v2.json
+++ b/googleapiclient/discovery_cache/documents/dlp.v2.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -3412,7 +3412,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://dlp.googleapis.com/",
   "schemas": {
     "GooglePrivacyDlpV2Action": {
diff --git a/googleapiclient/discovery_cache/documents/dns.v1.json b/googleapiclient/discovery_cache/documents/dns.v1.json
index 4ec025f..36f1ff5 100644
--- a/googleapiclient/discovery_cache/documents/dns.v1.json
+++ b/googleapiclient/discovery_cache/documents/dns.v1.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-platform.read-only": {
-          "description": "View your data across Google Cloud Platform services"
+          "description": "View your data across Google Cloud services and see the email address of your Google Account"
         },
         "https://www.googleapis.com/auth/ndev.clouddns.readonly": {
           "description": "View your DNS records hosted by Google Cloud DNS"
@@ -1235,7 +1235,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210809",
   "rootUrl": "https://dns.googleapis.com/",
   "schemas": {
     "Change": {
diff --git a/googleapiclient/discovery_cache/documents/dns.v1beta2.json b/googleapiclient/discovery_cache/documents/dns.v1beta2.json
index a3df4a8..1fad2f3 100644
--- a/googleapiclient/discovery_cache/documents/dns.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/dns.v1beta2.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-platform.read-only": {
-          "description": "View your data across Google Cloud Platform services"
+          "description": "View your data across Google Cloud services and see the email address of your Google Account"
         },
         "https://www.googleapis.com/auth/ndev.clouddns.readonly": {
           "description": "View your DNS records hosted by Google Cloud DNS"
@@ -1730,7 +1730,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210809",
   "rootUrl": "https://dns.googleapis.com/",
   "schemas": {
     "Change": {
diff --git a/googleapiclient/discovery_cache/documents/docs.v1.json b/googleapiclient/discovery_cache/documents/docs.v1.json
index 5d17d29..93b92c9 100644
--- a/googleapiclient/discovery_cache/documents/docs.v1.json
+++ b/googleapiclient/discovery_cache/documents/docs.v1.json
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210812",
   "rootUrl": "https://docs.googleapis.com/",
   "schemas": {
     "AutoText": {
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1.json b/googleapiclient/discovery_cache/documents/documentai.v1.json
index 4a38602..d43b1ad 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1.json
@@ -664,7 +664,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1beta2.json b/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
index 5bff559..6f231d8 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
@@ -292,7 +292,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1beta3.json b/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
index c58afcd..b614486 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
@@ -601,7 +601,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
index 09d205d..eee9eb3 100644
--- a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
+++ b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
@@ -289,7 +289,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210816",
   "rootUrl": "https://domainsrdap.googleapis.com/",
   "schemas": {
     "HttpBody": {
diff --git a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.1.json b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.1.json
index ba350d2..16151d1 100644
--- a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.1.json
+++ b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.1.json
@@ -280,7 +280,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210805",
   "rootUrl": "https://doubleclickbidmanager.googleapis.com/",
   "schemas": {
     "ChannelGrouping": {
diff --git a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json
index dee51cd..3f1fec2 100644
--- a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json
@@ -96,7 +96,7 @@
   },
   "protocol": "rest",
   "resources": {},
-  "revision": "20210728",
+  "revision": "20210805",
   "rootUrl": "https://doubleclickbidmanager.googleapis.com/",
   "schemas": {},
   "servicePath": "doubleclickbidmanager/v1/",
diff --git a/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json b/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json
index bb97c27..e261b7a 100644
--- a/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json
+++ b/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json
@@ -399,7 +399,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210811",
   "rootUrl": "https://doubleclicksearch.googleapis.com/",
   "schemas": {
     "Availability": {
diff --git a/googleapiclient/discovery_cache/documents/drive.v2.json b/googleapiclient/discovery_cache/documents/drive.v2.json
index 2cb3a2f..5dbc6ce 100644
--- a/googleapiclient/discovery_cache/documents/drive.v2.json
+++ b/googleapiclient/discovery_cache/documents/drive.v2.json
@@ -38,7 +38,7 @@
   "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/drive/",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/aU_AfbgJseV_CROUWisMyD1Ni98\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/VEgqKz0uZroJT3EBN1i10G5AZcE\"",
   "icons": {
     "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png",
     "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png"
@@ -3527,7 +3527,7 @@
       }
     }
   },
-  "revision": "20210801",
+  "revision": "20210808",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
diff --git a/googleapiclient/discovery_cache/documents/drive.v3.json b/googleapiclient/discovery_cache/documents/drive.v3.json
index c2747d9..e21db13 100644
--- a/googleapiclient/discovery_cache/documents/drive.v3.json
+++ b/googleapiclient/discovery_cache/documents/drive.v3.json
@@ -35,7 +35,7 @@
   "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/drive/",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/eleH2Ovi6Un0_ZoQiOMiJ_e_wYM\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/bhrm-jP3Qqjp7HrqwCLY7aUGmdQ\"",
   "icons": {
     "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png",
     "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png"
@@ -2191,7 +2191,7 @@
       }
     }
   },
-  "revision": "20210801",
+  "revision": "20210808",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
diff --git a/googleapiclient/discovery_cache/documents/driveactivity.v2.json b/googleapiclient/discovery_cache/documents/driveactivity.v2.json
index d354862..078775f 100644
--- a/googleapiclient/discovery_cache/documents/driveactivity.v2.json
+++ b/googleapiclient/discovery_cache/documents/driveactivity.v2.json
@@ -132,7 +132,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210810",
   "rootUrl": "https://driveactivity.googleapis.com/",
   "schemas": {
     "Action": {
diff --git a/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json b/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
index 068ab42..4e7e106 100644
--- a/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
+++ b/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
@@ -850,7 +850,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://essentialcontacts.googleapis.com/",
   "schemas": {
     "GoogleCloudEssentialcontactsV1ComputeContactsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/eventarc.v1.json b/googleapiclient/discovery_cache/documents/eventarc.v1.json
index a7cf62a..3b2515c 100644
--- a/googleapiclient/discovery_cache/documents/eventarc.v1.json
+++ b/googleapiclient/discovery_cache/documents/eventarc.v1.json
@@ -675,7 +675,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210806",
   "rootUrl": "https://eventarc.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json b/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json
index e30e14b..378c42a 100644
--- a/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json
@@ -584,7 +584,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210813",
   "rootUrl": "https://eventarc.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -912,7 +912,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
diff --git a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
index c555e00..c6b8a51 100644
--- a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
@@ -304,7 +304,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210809",
   "rootUrl": "https://factchecktools.googleapis.com/",
   "schemas": {
     "GoogleFactcheckingFactchecktoolsV1alpha1Claim": {
diff --git a/googleapiclient/discovery_cache/documents/fcm.v1.json b/googleapiclient/discovery_cache/documents/fcm.v1.json
index c496356..d26f5e5 100644
--- a/googleapiclient/discovery_cache/documents/fcm.v1.json
+++ b/googleapiclient/discovery_cache/documents/fcm.v1.json
@@ -146,7 +146,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210809",
   "rootUrl": "https://fcm.googleapis.com/",
   "schemas": {
     "AndroidConfig": {
diff --git a/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json b/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json
index 6d70457..c51cea3 100644
--- a/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json
@@ -154,7 +154,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://fcmdata.googleapis.com/",
   "schemas": {
     "GoogleFirebaseFcmDataV1beta1AndroidDeliveryData": {
diff --git a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
index 2ce9dd7..29f059b 100644
--- a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-platform.read-only": {
-          "description": "View your data across Google Cloud Platform services"
+          "description": "View your data across Google Cloud services and see the email address of your Google Account"
         },
         "https://www.googleapis.com/auth/firebase": {
           "description": "View and administer all your Firebase data and settings"
@@ -1121,7 +1121,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://firebase.googleapis.com/",
   "schemas": {
     "AddFirebaseRequest": {
diff --git a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json
index fb2a90a..ac8914c 100644
--- a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json
@@ -1057,7 +1057,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210806",
   "rootUrl": "https://firebaseappcheck.googleapis.com/",
   "schemas": {
     "GoogleFirebaseAppcheckV1betaAppAttestChallengeResponse": {
diff --git a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
index f5f1db0..523e69f 100644
--- a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-platform.read-only": {
-          "description": "View your data across Google Cloud Platform services"
+          "description": "View your data across Google Cloud services and see the email address of your Google Account"
         },
         "https://www.googleapis.com/auth/firebase": {
           "description": "View and administer all your Firebase data and settings"
@@ -317,7 +317,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://firebasedatabase.googleapis.com/",
   "schemas": {
     "DatabaseInstance": {
diff --git a/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json b/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json
index 8f46fc7..8d71f38 100644
--- a/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json
@@ -224,7 +224,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210809",
   "rootUrl": "https://firebasedynamiclinks.googleapis.com/",
   "schemas": {
     "AnalyticsInfo": {
diff --git a/googleapiclient/discovery_cache/documents/firebasehosting.v1.json b/googleapiclient/discovery_cache/documents/firebasehosting.v1.json
index c296a4c..0a6d3e7 100644
--- a/googleapiclient/discovery_cache/documents/firebasehosting.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebasehosting.v1.json
@@ -186,7 +186,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210814",
   "rootUrl": "https://firebasehosting.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json b/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json
index 3286bc3..d658c18 100644
--- a/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-platform.read-only": {
-          "description": "View your data across Google Cloud Platform services"
+          "description": "View your data across Google Cloud services and see the email address of your Google Account"
         },
         "https://www.googleapis.com/auth/firebase": {
           "description": "View and administer all your Firebase data and settings"
@@ -1939,7 +1939,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210814",
   "rootUrl": "https://firebasehosting.googleapis.com/",
   "schemas": {
     "ActingUser": {
diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v1.json b/googleapiclient/discovery_cache/documents/firebaseml.v1.json
index 64d2d35..30df11a 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -204,7 +204,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210811",
   "rootUrl": "https://firebaseml.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
index f3541ff..9234442 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -318,7 +318,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210811",
   "rootUrl": "https://firebaseml.googleapis.com/",
   "schemas": {
     "DownloadModelResponse": {
diff --git a/googleapiclient/discovery_cache/documents/firestore.v1.json b/googleapiclient/discovery_cache/documents/firestore.v1.json
index 8a2571f..62a9098 100644
--- a/googleapiclient/discovery_cache/documents/firestore.v1.json
+++ b/googleapiclient/discovery_cache/documents/firestore.v1.json
@@ -1160,7 +1160,7 @@
       }
     }
   },
-  "revision": "20210719",
+  "revision": "20210805",
   "rootUrl": "https://firestore.googleapis.com/",
   "schemas": {
     "ArrayValue": {
diff --git a/googleapiclient/discovery_cache/documents/firestore.v1beta1.json b/googleapiclient/discovery_cache/documents/firestore.v1beta1.json
index ec592ee..bfd9d73 100644
--- a/googleapiclient/discovery_cache/documents/firestore.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/firestore.v1beta1.json
@@ -849,7 +849,7 @@
       }
     }
   },
-  "revision": "20210719",
+  "revision": "20210805",
   "rootUrl": "https://firestore.googleapis.com/",
   "schemas": {
     "ArrayValue": {
diff --git a/googleapiclient/discovery_cache/documents/firestore.v1beta2.json b/googleapiclient/discovery_cache/documents/firestore.v1beta2.json
index 75d04a0..d17c575 100644
--- a/googleapiclient/discovery_cache/documents/firestore.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/firestore.v1beta2.json
@@ -415,7 +415,7 @@
       }
     }
   },
-  "revision": "20210719",
+  "revision": "20210805",
   "rootUrl": "https://firestore.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/fitness.v1.json b/googleapiclient/discovery_cache/documents/fitness.v1.json
index ebf139a..ead94ec 100644
--- a/googleapiclient/discovery_cache/documents/fitness.v1.json
+++ b/googleapiclient/discovery_cache/documents/fitness.v1.json
@@ -831,7 +831,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210811",
   "rootUrl": "https://fitness.googleapis.com/",
   "schemas": {
     "AggregateBucket": {
diff --git a/googleapiclient/discovery_cache/documents/games.v1.json b/googleapiclient/discovery_cache/documents/games.v1.json
index c724aa3..1f83c49 100644
--- a/googleapiclient/discovery_cache/documents/games.v1.json
+++ b/googleapiclient/discovery_cache/documents/games.v1.json
@@ -1224,7 +1224,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210805",
   "rootUrl": "https://games.googleapis.com/",
   "schemas": {
     "AchievementDefinition": {
diff --git a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
index 137db77..14774d0 100644
--- a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
+++ b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
@@ -439,7 +439,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210805",
   "rootUrl": "https://gamesconfiguration.googleapis.com/",
   "schemas": {
     "AchievementConfiguration": {
diff --git a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
index 514a1cf..2e14641 100644
--- a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
+++ b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
@@ -471,7 +471,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210805",
   "rootUrl": "https://gamesmanagement.googleapis.com/",
   "schemas": {
     "AchievementResetAllResponse": {
diff --git a/googleapiclient/discovery_cache/documents/gameservices.v1.json b/googleapiclient/discovery_cache/documents/gameservices.v1.json
index 7101330..011c186 100644
--- a/googleapiclient/discovery_cache/documents/gameservices.v1.json
+++ b/googleapiclient/discovery_cache/documents/gameservices.v1.json
@@ -1357,7 +1357,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210802",
   "rootUrl": "https://gameservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gameservices.v1beta.json b/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
index a45368a..4695ccf 100644
--- a/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
@@ -1357,7 +1357,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210802",
   "rootUrl": "https://gameservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json b/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json
index 65e180e..5ddcc81 100644
--- a/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json
+++ b/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/genomics": {
           "description": "View and manage Genomics data"
@@ -301,7 +301,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210811",
   "rootUrl": "https://genomics.googleapis.com/",
   "schemas": {
     "Accelerator": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1.json b/googleapiclient/discovery_cache/documents/gkehub.v1.json
index 620d010..25f3a2b 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1.json
@@ -905,7 +905,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
index 779d543..a97fbee 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
@@ -670,7 +670,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
index 61b6738..481c1d9 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
@@ -652,7 +652,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
index 3ba2477..589e3f1 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
@@ -670,7 +670,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json
index b8fd69c..481cb31 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json
@@ -706,7 +706,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/gmail.v1.json b/googleapiclient/discovery_cache/documents/gmail.v1.json
index 19ab8f4..9f84974 100644
--- a/googleapiclient/discovery_cache/documents/gmail.v1.json
+++ b/googleapiclient/discovery_cache/documents/gmail.v1.json
@@ -2682,7 +2682,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210809",
   "rootUrl": "https://gmail.googleapis.com/",
   "schemas": {
     "AutoForwarding": {
diff --git a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
index a2c8823..e13539f 100644
--- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
+++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
@@ -265,7 +265,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://gmailpostmastertools.googleapis.com/",
   "schemas": {
     "DeliveryError": {
diff --git a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
index 1d72ce4..a2a0d0e 100644
--- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
@@ -265,7 +265,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://gmailpostmastertools.googleapis.com/",
   "schemas": {
     "DeliveryError": {
diff --git a/googleapiclient/discovery_cache/documents/groupsmigration.v1.json b/googleapiclient/discovery_cache/documents/groupsmigration.v1.json
index a637a09..c9d448b 100644
--- a/googleapiclient/discovery_cache/documents/groupsmigration.v1.json
+++ b/googleapiclient/discovery_cache/documents/groupsmigration.v1.json
@@ -146,7 +146,7 @@
       }
     }
   },
-  "revision": "20210715",
+  "revision": "20210805",
   "rootUrl": "https://groupsmigration.googleapis.com/",
   "schemas": {
     "Groups": {
diff --git a/googleapiclient/discovery_cache/documents/groupssettings.v1.json b/googleapiclient/discovery_cache/documents/groupssettings.v1.json
index 3489f6d..0a4fe61 100644
--- a/googleapiclient/discovery_cache/documents/groupssettings.v1.json
+++ b/googleapiclient/discovery_cache/documents/groupssettings.v1.json
@@ -152,7 +152,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210805",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Groups": {
diff --git a/googleapiclient/discovery_cache/documents/healthcare.v1.json b/googleapiclient/discovery_cache/documents/healthcare.v1.json
index 5c79bd1..23d904b 100644
--- a/googleapiclient/discovery_cache/documents/healthcare.v1.json
+++ b/googleapiclient/discovery_cache/documents/healthcare.v1.json
@@ -3213,7 +3213,7 @@
                           ]
                         },
                         "search": {
-                          "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` will contain pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
+                          "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
                           "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search",
                           "httpMethod": "POST",
                           "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search",
@@ -3241,7 +3241,7 @@
                           ]
                         },
                         "search-type": {
-                          "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` will contain pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
+                          "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
                           "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search",
                           "httpMethod": "POST",
                           "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type",
@@ -3920,7 +3920,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210806",
   "rootUrl": "https://healthcare.googleapis.com/",
   "schemas": {
     "ActivateConsentRequest": {
diff --git a/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json b/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json
index 2b06a0a..fc9f950 100644
--- a/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json
@@ -4014,7 +4014,7 @@
                           ]
                         },
                         "search": {
-                          "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
+                          "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
                           "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search",
                           "httpMethod": "POST",
                           "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search",
@@ -4042,7 +4042,7 @@
                           ]
                         },
                         "search-type": {
-                          "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
+                          "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](https://hl7.org/implement/standards/fhir/STU3/search.html), [R4](https://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` contains a link of `relation` \"next\", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).",
                           "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search",
                           "httpMethod": "POST",
                           "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type",
@@ -4865,7 +4865,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210806",
   "rootUrl": "https://healthcare.googleapis.com/",
   "schemas": {
     "ActivateConsentRequest": {
diff --git a/googleapiclient/discovery_cache/documents/homegraph.v1.json b/googleapiclient/discovery_cache/documents/homegraph.v1.json
index 4eee446..0d48d41 100644
--- a/googleapiclient/discovery_cache/documents/homegraph.v1.json
+++ b/googleapiclient/discovery_cache/documents/homegraph.v1.json
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://homegraph.googleapis.com/",
   "schemas": {
     "AgentDeviceId": {
diff --git a/googleapiclient/discovery_cache/documents/iam.v1.json b/googleapiclient/discovery_cache/documents/iam.v1.json
index c3b54d7..4c4b9af 100644
--- a/googleapiclient/discovery_cache/documents/iam.v1.json
+++ b/googleapiclient/discovery_cache/documents/iam.v1.json
@@ -1696,7 +1696,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210805",
   "rootUrl": "https://iam.googleapis.com/",
   "schemas": {
     "AdminAuditData": {
diff --git a/googleapiclient/discovery_cache/documents/iamcredentials.v1.json b/googleapiclient/discovery_cache/documents/iamcredentials.v1.json
index 53f8a6f..4aef70e 100644
--- a/googleapiclient/discovery_cache/documents/iamcredentials.v1.json
+++ b/googleapiclient/discovery_cache/documents/iamcredentials.v1.json
@@ -226,7 +226,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210806",
   "rootUrl": "https://iamcredentials.googleapis.com/",
   "schemas": {
     "GenerateAccessTokenRequest": {
diff --git a/googleapiclient/discovery_cache/documents/iap.v1.json b/googleapiclient/discovery_cache/documents/iap.v1.json
index 6952f01..4258a99 100644
--- a/googleapiclient/discovery_cache/documents/iap.v1.json
+++ b/googleapiclient/discovery_cache/documents/iap.v1.json
@@ -487,7 +487,7 @@
       }
     }
   },
-  "revision": "20210723",
+  "revision": "20210806",
   "rootUrl": "https://iap.googleapis.com/",
   "schemas": {
     "AccessDeniedPageSettings": {
diff --git a/googleapiclient/discovery_cache/documents/iap.v1beta1.json b/googleapiclient/discovery_cache/documents/iap.v1beta1.json
index 01ed94f..1a47d8a 100644
--- a/googleapiclient/discovery_cache/documents/iap.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/iap.v1beta1.json
@@ -194,7 +194,7 @@
       }
     }
   },
-  "revision": "20210723",
+  "revision": "20210806",
   "rootUrl": "https://iap.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json b/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json
index 4c5b75e..2445c7b 100644
--- a/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json
@@ -371,7 +371,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210813",
   "rootUrl": "https://ideahub.googleapis.com/",
   "schemas": {
     "GoogleSearchIdeahubV1alphaAvailableLocale": {
diff --git a/googleapiclient/discovery_cache/documents/keep.v1.json b/googleapiclient/discovery_cache/documents/keep.v1.json
index 454d4a4..0e726f7 100644
--- a/googleapiclient/discovery_cache/documents/keep.v1.json
+++ b/googleapiclient/discovery_cache/documents/keep.v1.json
@@ -314,7 +314,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210809",
   "rootUrl": "https://keep.googleapis.com/",
   "schemas": {
     "Attachment": {
diff --git a/googleapiclient/discovery_cache/documents/language.v1.json b/googleapiclient/discovery_cache/documents/language.v1.json
index 8166758..4632989 100644
--- a/googleapiclient/discovery_cache/documents/language.v1.json
+++ b/googleapiclient/discovery_cache/documents/language.v1.json
@@ -6,7 +6,7 @@
           "description": "Apply machine learning models to reveal the structure and meaning of text"
         },
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -227,7 +227,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210807",
   "rootUrl": "https://language.googleapis.com/",
   "schemas": {
     "AnalyzeEntitiesRequest": {
diff --git a/googleapiclient/discovery_cache/documents/language.v1beta1.json b/googleapiclient/discovery_cache/documents/language.v1beta1.json
index a99c201..f5fff0c 100644
--- a/googleapiclient/discovery_cache/documents/language.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/language.v1beta1.json
@@ -6,7 +6,7 @@
           "description": "Apply machine learning models to reveal the structure and meaning of text"
         },
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -189,7 +189,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210807",
   "rootUrl": "https://language.googleapis.com/",
   "schemas": {
     "AnalyzeEntitiesRequest": {
diff --git a/googleapiclient/discovery_cache/documents/language.v1beta2.json b/googleapiclient/discovery_cache/documents/language.v1beta2.json
index 43e0496..5661224 100644
--- a/googleapiclient/discovery_cache/documents/language.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/language.v1beta2.json
@@ -6,7 +6,7 @@
           "description": "Apply machine learning models to reveal the structure and meaning of text"
         },
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -227,7 +227,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210807",
   "rootUrl": "https://language.googleapis.com/",
   "schemas": {
     "AnalyzeEntitiesRequest": {
diff --git a/googleapiclient/discovery_cache/documents/libraryagent.v1.json b/googleapiclient/discovery_cache/documents/libraryagent.v1.json
index 0287398..a41107b 100644
--- a/googleapiclient/discovery_cache/documents/libraryagent.v1.json
+++ b/googleapiclient/discovery_cache/documents/libraryagent.v1.json
@@ -279,7 +279,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://libraryagent.googleapis.com/",
   "schemas": {
     "GoogleExampleLibraryagentV1Book": {
diff --git a/googleapiclient/discovery_cache/documents/licensing.v1.json b/googleapiclient/discovery_cache/documents/licensing.v1.json
index 60da764..df212ab 100644
--- a/googleapiclient/discovery_cache/documents/licensing.v1.json
+++ b/googleapiclient/discovery_cache/documents/licensing.v1.json
@@ -400,7 +400,7 @@
       }
     }
   },
-  "revision": "20210807",
+  "revision": "20210814",
   "rootUrl": "https://licensing.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/localservices.v1.json b/googleapiclient/discovery_cache/documents/localservices.v1.json
index e4be250..fe8f335 100644
--- a/googleapiclient/discovery_cache/documents/localservices.v1.json
+++ b/googleapiclient/discovery_cache/documents/localservices.v1.json
@@ -250,7 +250,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://localservices.googleapis.com/",
   "schemas": {
     "GoogleAdsHomeservicesLocalservicesV1AccountReport": {
diff --git a/googleapiclient/discovery_cache/documents/manufacturers.v1.json b/googleapiclient/discovery_cache/documents/manufacturers.v1.json
index c477538..b8b2f31 100644
--- a/googleapiclient/discovery_cache/documents/manufacturers.v1.json
+++ b/googleapiclient/discovery_cache/documents/manufacturers.v1.json
@@ -287,7 +287,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210812",
   "rootUrl": "https://manufacturers.googleapis.com/",
   "schemas": {
     "Attributes": {
diff --git a/googleapiclient/discovery_cache/documents/memcache.v1.json b/googleapiclient/discovery_cache/documents/memcache.v1.json
index 387c572..9d96d34 100644
--- a/googleapiclient/discovery_cache/documents/memcache.v1.json
+++ b/googleapiclient/discovery_cache/documents/memcache.v1.json
@@ -528,7 +528,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210810",
   "rootUrl": "https://memcache.googleapis.com/",
   "schemas": {
     "ApplyParametersRequest": {
@@ -1576,7 +1576,7 @@
           "type": "string"
         },
         "denyMaintenancePeriods": {
-          "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. For V1, Maximum number of deny_maintenance_periods is expected to be one.",
+          "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. Maximum number of deny_maintenance_periods expected is one.",
           "items": {
             "$ref": "DenyMaintenancePeriod"
           },
diff --git a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json
index 95190a8..17fbd71 100644
--- a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json
@@ -556,7 +556,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210810",
   "rootUrl": "https://memcache.googleapis.com/",
   "schemas": {
     "ApplyParametersRequest": {
@@ -1632,7 +1632,7 @@
           "type": "string"
         },
         "denyMaintenancePeriods": {
-          "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. For V1, Maximum number of deny_maintenance_periods is expected to be one.",
+          "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. Maximum number of deny_maintenance_periods expected is one.",
           "items": {
             "$ref": "DenyMaintenancePeriod"
           },
diff --git a/googleapiclient/discovery_cache/documents/metastore.v1alpha.json b/googleapiclient/discovery_cache/documents/metastore.v1alpha.json
index 504825f..3ba0303 100644
--- a/googleapiclient/discovery_cache/documents/metastore.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/metastore.v1alpha.json
@@ -1170,7 +1170,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210804",
   "rootUrl": "https://metastore.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/metastore.v1beta.json b/googleapiclient/discovery_cache/documents/metastore.v1beta.json
index cfe9946..7624b87 100644
--- a/googleapiclient/discovery_cache/documents/metastore.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/metastore.v1beta.json
@@ -986,7 +986,7 @@
       }
     }
   },
-  "revision": "20210802",
+  "revision": "20210804",
   "rootUrl": "https://metastore.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/ml.v1.json b/googleapiclient/discovery_cache/documents/ml.v1.json
index 0e73a87..6b00f44 100644
--- a/googleapiclient/discovery_cache/documents/ml.v1.json
+++ b/googleapiclient/discovery_cache/documents/ml.v1.json
@@ -3,10 +3,10 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-platform.read-only": {
-          "description": "View your data across Google Cloud Platform services"
+          "description": "View your data across Google Cloud services and see the email address of your Google Account"
         }
       }
     }
@@ -1486,7 +1486,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210806",
   "rootUrl": "https://ml.googleapis.com/",
   "schemas": {
     "GoogleApi__HttpBody": {
diff --git a/googleapiclient/discovery_cache/documents/monitoring.v1.json b/googleapiclient/discovery_cache/documents/monitoring.v1.json
index 9d07165..0288ed5 100644
--- a/googleapiclient/discovery_cache/documents/monitoring.v1.json
+++ b/googleapiclient/discovery_cache/documents/monitoring.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/monitoring": {
           "description": "View and write monitoring data for all of your Google and third-party Cloud and API projects"
@@ -121,7 +121,7 @@
             "metricsScopes": {
               "methods": {
                 "get": {
-                  "description": "Returns a specific Metrics Scope.",
+                  "description": "Returns a specific Metrics Scope, including the list of projects monitored by the specified Metrics Scope.",
                   "flatPath": "v1/locations/global/metricsScopes/{metricsScopesId}",
                   "httpMethod": "GET",
                   "id": "monitoring.locations.global.metricsScopes.get",
@@ -441,7 +441,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210809",
   "rootUrl": "https://monitoring.googleapis.com/",
   "schemas": {
     "Aggregation": {
@@ -703,6 +703,20 @@
           ],
           "type": "string"
         },
+        "targetAxis": {
+          "description": "Optional. The target axis to use for plotting the metric.",
+          "enum": [
+            "TARGET_AXIS_UNSPECIFIED",
+            "Y1",
+            "Y2"
+          ],
+          "enumDescriptions": [
+            "The target axis was not specified. Defaults to Y1.",
+            "The y_axis (the right axis of chart).",
+            "The y2_axis (the left axis of chart)."
+          ],
+          "type": "string"
+        },
         "timeSeriesQuery": {
           "$ref": "TimeSeriesQuery",
           "description": "Required. Fields for querying time series data from the Stackdriver metrics API."
@@ -1340,6 +1354,20 @@
           "description": "A label for the threshold.",
           "type": "string"
         },
+        "targetAxis": {
+          "description": "The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.",
+          "enum": [
+            "TARGET_AXIS_UNSPECIFIED",
+            "Y1",
+            "Y2"
+          ],
+          "enumDescriptions": [
+            "The target axis was not specified. Defaults to Y1.",
+            "The y_axis (the right axis of chart).",
+            "The y2_axis (the left axis of chart)."
+          ],
+          "type": "string"
+        },
         "value": {
           "description": "The value of the threshold. The value should be defined in the native scale of the metric.",
           "format": "double",
@@ -1566,6 +1594,10 @@
           "$ref": "Axis",
           "description": "The properties applied to the X axis."
         },
+        "y2Axis": {
+          "$ref": "Axis",
+          "description": "The properties applied to the Y2 axis."
+        },
         "yAxis": {
           "$ref": "Axis",
           "description": "The properties applied to the Y axis."
diff --git a/googleapiclient/discovery_cache/documents/monitoring.v3.json b/googleapiclient/discovery_cache/documents/monitoring.v3.json
index 86213e2..497ed40 100644
--- a/googleapiclient/discovery_cache/documents/monitoring.v3.json
+++ b/googleapiclient/discovery_cache/documents/monitoring.v3.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/monitoring": {
           "description": "View and write monitoring data for all of your Google and third-party Cloud and API projects"
@@ -2541,7 +2541,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210809",
   "rootUrl": "https://monitoring.googleapis.com/",
   "schemas": {
     "Aggregation": {
@@ -3427,7 +3427,7 @@
       "type": "object"
     },
     "GoogleMonitoringV3Range": {
-      "description": "Range of numerical values within min and max. If the open range \"< range.max\" is desired, set range.min = -infinity. If the open range \">= range.min\" is desired, set range.max = infinity.",
+      "description": "Range of numerical values within min and max.",
       "id": "GoogleMonitoringV3Range",
       "properties": {
         "max": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
index 9aa2c6a..cb108b3 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
@@ -530,7 +530,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://mybusinessaccountmanagement.googleapis.com/",
   "schemas": {
     "AcceptInvitationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
index 0bc43b6..f1fbb66 100644
--- a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
@@ -194,7 +194,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://mybusinesslodging.googleapis.com/",
   "schemas": {
     "Accessibility": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json b/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json
index 004891a..432d402 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json
@@ -154,7 +154,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://mybusinessnotifications.googleapis.com/",
   "schemas": {
     "NotificationSetting": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
index f13fb82..4c4bfa3 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
@@ -281,7 +281,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://mybusinessplaceactions.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json b/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json
index 0b48c70..219e0b9 100644
--- a/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -14,7 +14,7 @@
   "canonicalName": "networkconnectivity",
   "description": "The Network Connectivity API provides access to Network Connectivity Center.",
   "discoveryVersion": "v1",
-  "documentationLink": "https://cloud.google.com/network-connectivity/docs",
+  "documentationLink": "https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest",
   "fullyEncodeReservedExpansion": true,
   "icons": {
     "x16": "http://www.google.com/images/icons/product/search-16.gif",
@@ -447,97 +447,6 @@
                       ]
                     }
                   }
-                },
-                "policyBasedRoutes": {
-                  "methods": {
-                    "getIamPolicy": {
-                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
-                      "flatPath": "v1alpha1/projects/{projectsId}/locations/global/policyBasedRoutes/{policyBasedRoutesId}:getIamPolicy",
-                      "httpMethod": "GET",
-                      "id": "networkconnectivity.projects.locations.global.policyBasedRoutes.getIamPolicy",
-                      "parameterOrder": [
-                        "resource"
-                      ],
-                      "parameters": {
-                        "options.requestedPolicyVersion": {
-                          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
-                          "format": "int32",
-                          "location": "query",
-                          "type": "integer"
-                        },
-                        "resource": {
-                          "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
-                          "location": "path",
-                          "pattern": "^projects/[^/]+/locations/global/policyBasedRoutes/[^/]+$",
-                          "required": true,
-                          "type": "string"
-                        }
-                      },
-                      "path": "v1alpha1/{+resource}:getIamPolicy",
-                      "response": {
-                        "$ref": "Policy"
-                      },
-                      "scopes": [
-                        "https://www.googleapis.com/auth/cloud-platform"
-                      ]
-                    },
-                    "setIamPolicy": {
-                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
-                      "flatPath": "v1alpha1/projects/{projectsId}/locations/global/policyBasedRoutes/{policyBasedRoutesId}:setIamPolicy",
-                      "httpMethod": "POST",
-                      "id": "networkconnectivity.projects.locations.global.policyBasedRoutes.setIamPolicy",
-                      "parameterOrder": [
-                        "resource"
-                      ],
-                      "parameters": {
-                        "resource": {
-                          "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
-                          "location": "path",
-                          "pattern": "^projects/[^/]+/locations/global/policyBasedRoutes/[^/]+$",
-                          "required": true,
-                          "type": "string"
-                        }
-                      },
-                      "path": "v1alpha1/{+resource}:setIamPolicy",
-                      "request": {
-                        "$ref": "SetIamPolicyRequest"
-                      },
-                      "response": {
-                        "$ref": "Policy"
-                      },
-                      "scopes": [
-                        "https://www.googleapis.com/auth/cloud-platform"
-                      ]
-                    },
-                    "testIamPermissions": {
-                      "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
-                      "flatPath": "v1alpha1/projects/{projectsId}/locations/global/policyBasedRoutes/{policyBasedRoutesId}:testIamPermissions",
-                      "httpMethod": "POST",
-                      "id": "networkconnectivity.projects.locations.global.policyBasedRoutes.testIamPermissions",
-                      "parameterOrder": [
-                        "resource"
-                      ],
-                      "parameters": {
-                        "resource": {
-                          "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
-                          "location": "path",
-                          "pattern": "^projects/[^/]+/locations/global/policyBasedRoutes/[^/]+$",
-                          "required": true,
-                          "type": "string"
-                        }
-                      },
-                      "path": "v1alpha1/{+resource}:testIamPermissions",
-                      "request": {
-                        "$ref": "TestIamPermissionsRequest"
-                      },
-                      "response": {
-                        "$ref": "TestIamPermissionsResponse"
-                      },
-                      "scopes": [
-                        "https://www.googleapis.com/auth/cloud-platform"
-                      ]
-                    }
-                  }
                 }
               }
             },
@@ -1029,7 +938,7 @@
       }
     }
   },
-  "revision": "20210713",
+  "revision": "20210810",
   "rootUrl": "https://networkconnectivity.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -1426,7 +1335,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
diff --git a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json
index 6aab53e..b17810e 100644
--- a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json
@@ -1037,7 +1037,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210804",
   "rootUrl": "https://networksecurity.googleapis.com/",
   "schemas": {
     "AuthorizationPolicy": {
diff --git a/googleapiclient/discovery_cache/documents/networkservices.v1.json b/googleapiclient/discovery_cache/documents/networkservices.v1.json
index 03da9b2..d38616b 100644
--- a/googleapiclient/discovery_cache/documents/networkservices.v1.json
+++ b/googleapiclient/discovery_cache/documents/networkservices.v1.json
@@ -578,7 +578,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210809",
   "rootUrl": "https://networkservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json b/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json
index 8937c27..696b29e 100644
--- a/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json
@@ -549,7 +549,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210809",
   "rootUrl": "https://networkservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/notebooks.v1.json b/googleapiclient/discovery_cache/documents/notebooks.v1.json
index bf07ea7..1452e46 100644
--- a/googleapiclient/discovery_cache/documents/notebooks.v1.json
+++ b/googleapiclient/discovery_cache/documents/notebooks.v1.json
@@ -1609,7 +1609,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210808",
   "rootUrl": "https://notebooks.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -1699,6 +1699,17 @@
       },
       "type": "object"
     },
+    "DataprocParameters": {
+      "description": "Parameters used in Dataproc JobType executions.",
+      "id": "DataprocParameters",
+      "properties": {
+        "cluster": {
+          "description": "URI for cluster used to run Dataproc execution. Format: 'projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Disk": {
       "description": "An instance-attached disk resource.",
       "id": "Disk",
@@ -1928,10 +1939,28 @@
           "description": "Container Image URI to a DLVM Example: 'gcr.io/deeplearning-platform-release/base-cu100' More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container",
           "type": "string"
         },
+        "dataprocParameters": {
+          "$ref": "DataprocParameters",
+          "description": "Parameters used in Dataproc JobType executions."
+        },
         "inputNotebookFile": {
           "description": "Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb",
           "type": "string"
         },
+        "jobType": {
+          "description": "The type of Job to be used on this execution.",
+          "enum": [
+            "JOB_TYPE_UNSPECIFIED",
+            "VERTEX_AI",
+            "DATAPROC"
+          ],
+          "enumDescriptions": [
+            "No type specified.",
+            "Custom Job in `aiplatform.googleapis.com`. Default value for an execution.",
+            "Run execution on a cluster with Dataproc as a job. https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs"
+          ],
+          "type": "string"
+        },
         "labels": {
           "additionalProperties": {
             "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
index ca660c8..0aa850a 100644
--- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
+++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -339,7 +339,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210809",
   "rootUrl": "https://ondemandscanning.googleapis.com/",
   "schemas": {
     "AliasContext": {
diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
index a57555d..0e6e0ba 100644
--- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -339,7 +339,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210809",
   "rootUrl": "https://ondemandscanning.googleapis.com/",
   "schemas": {
     "AliasContext": {
diff --git a/googleapiclient/discovery_cache/documents/orgpolicy.v2.json b/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
index 163841e..959debf 100644
--- a/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
+++ b/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
@@ -751,7 +751,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://orgpolicy.googleapis.com/",
   "schemas": {
     "GoogleCloudOrgpolicyV2Constraint": {
diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1.json b/googleapiclient/discovery_cache/documents/osconfig.v1.json
index 16cab3c..31c31cb 100644
--- a/googleapiclient/discovery_cache/documents/osconfig.v1.json
+++ b/googleapiclient/discovery_cache/documents/osconfig.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -654,7 +654,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210806",
   "rootUrl": "https://osconfig.googleapis.com/",
   "schemas": {
     "AptSettings": {
diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json b/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json
index 0ec5492..0014efe 100644
--- a/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -610,7 +610,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210806",
   "rootUrl": "https://osconfig.googleapis.com/",
   "schemas": {
     "CVSSv3": {
diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1beta.json b/googleapiclient/discovery_cache/documents/osconfig.v1beta.json
index 531bf25..bae5715 100644
--- a/googleapiclient/discovery_cache/documents/osconfig.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/osconfig.v1beta.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -599,7 +599,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210806",
   "rootUrl": "https://osconfig.googleapis.com/",
   "schemas": {
     "AptRepository": {
diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1.json b/googleapiclient/discovery_cache/documents/oslogin.v1.json
index e3102f34e..f69f6f4 100644
--- a/googleapiclient/discovery_cache/documents/oslogin.v1.json
+++ b/googleapiclient/discovery_cache/documents/oslogin.v1.json
@@ -306,7 +306,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://oslogin.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json b/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json
index bad537c..aa73505 100644
--- a/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json
@@ -374,7 +374,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://oslogin.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1beta.json b/googleapiclient/discovery_cache/documents/oslogin.v1beta.json
index 0795624..859ccb4 100644
--- a/googleapiclient/discovery_cache/documents/oslogin.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/oslogin.v1beta.json
@@ -344,7 +344,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://oslogin.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
index 39c80ad..b8bd988 100644
--- a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
+++ b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
@@ -193,7 +193,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://pagespeedonline.googleapis.com/",
   "schemas": {
     "AuditRefs": {
diff --git a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
index 205bdf2..763f5c7 100644
--- a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
+++ b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
@@ -366,7 +366,7 @@
       }
     }
   },
-  "revision": "20210808",
+  "revision": "20210815",
   "rootUrl": "https://paymentsresellersubscription.googleapis.com/",
   "schemas": {
     "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest": {
diff --git a/googleapiclient/discovery_cache/documents/people.v1.json b/googleapiclient/discovery_cache/documents/people.v1.json
index db1fc85..e2518cb 100644
--- a/googleapiclient/discovery_cache/documents/people.v1.json
+++ b/googleapiclient/discovery_cache/documents/people.v1.json
@@ -1172,7 +1172,7 @@
       }
     }
   },
-  "revision": "20210805",
+  "revision": "20210812",
   "rootUrl": "https://people.googleapis.com/",
   "schemas": {
     "Address": {
@@ -1297,7 +1297,7 @@
       "type": "object"
     },
     "BatchCreateContactsResponse": {
-      "description": "The response to a request to create a batch of contacts.",
+      "description": "If not successful, returns BatchCreateContactsErrorDetails.contacts which contains a list of errors for each invalid contact. The response to a request to create a batch of contacts.",
       "id": "BatchCreateContactsResponse",
       "properties": {
         "createdPeople": {
@@ -1382,7 +1382,7 @@
       "type": "object"
     },
     "BatchUpdateContactsResponse": {
-      "description": "The response to a request to create a batch of contacts.",
+      "description": "If not successful, returns BatchUpdateContactsErrorDetails.contacts, a list of errors corresponding to each contact. The response to a request to update a batch of contacts.",
       "id": "BatchUpdateContactsResponse",
       "properties": {
         "updateResult": {
diff --git a/googleapiclient/discovery_cache/documents/playablelocations.v3.json b/googleapiclient/discovery_cache/documents/playablelocations.v3.json
index b5658ae..1df6352 100644
--- a/googleapiclient/discovery_cache/documents/playablelocations.v3.json
+++ b/googleapiclient/discovery_cache/documents/playablelocations.v3.json
@@ -146,7 +146,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210814",
   "rootUrl": "https://playablelocations.googleapis.com/",
   "schemas": {
     "GoogleMapsPlayablelocationsV3Impression": {
diff --git a/googleapiclient/discovery_cache/documents/playcustomapp.v1.json b/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
index cf40421..9e1ef6b 100644
--- a/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
+++ b/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
@@ -158,7 +158,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://playcustomapp.googleapis.com/",
   "schemas": {
     "CustomApp": {
diff --git a/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json b/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json
index 17c4603..ef98b1d 100644
--- a/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json
+++ b/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -114,7 +114,7 @@
                 "activities": {
                   "methods": {
                     "query": {
-                      "description": "Queries policy activities on GCP resources.",
+                      "description": "Queries policy activities on Google Cloud resources.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activityTypes/{activityTypesId}/activities:query",
                       "httpMethod": "GET",
                       "id": "policyanalyzer.projects.locations.activityTypes.activities.query",
@@ -123,7 +123,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. Optional filter expression to restrict the activities returned. Supported filters are: - service_account_last_authn.full_resource_name {=} - service_account_key_last_authn.full_resource_name {=} ",
+                          "description": "Optional. Filter expression to restrict the activities returned. Supported filters are: - service_account_last_authn.full_resource_name {=} [STRING] - service_account_key_last_authn.full_resource_name {=} [STRING]",
                           "location": "query",
                           "type": "string"
                         },
@@ -139,7 +139,7 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The container resource on which to execute the request. Acceptable formats: `projects/[PROJECT_ID|PROJECT_NUMBER]/locations/[LOCATION]/activityTypes/[ACTIVITY_TYPE]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/",
+                          "description": "Required. The container resource on which to execute the request. Acceptable formats: `projects/[PROJECT_ID|PROJECT_NUMBER]/locations/[LOCATION]/activityTypes/[ACTIVITY_TYPE]` LOCATION here refers to Google Cloud Locations: https://cloud.google.com/about/locations/",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/activityTypes/[^/]+$",
                           "required": true,
@@ -163,7 +163,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210813",
   "rootUrl": "https://policyanalyzer.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicyanalyzerV1Activity": {
@@ -197,12 +197,12 @@
       "id": "GoogleCloudPolicyanalyzerV1ObservationPeriod",
       "properties": {
         "endTime": {
-          "description": "The observation end time.",
+          "description": "The observation end time. The time in this timestamp is always `07:00:00Z`.",
           "format": "google-datetime",
           "type": "string"
         },
         "startTime": {
-          "description": "The observation start time.",
+          "description": "The observation start time. The time in this timestamp is always `07:00:00Z`.",
           "format": "google-datetime",
           "type": "string"
         }
diff --git a/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json b/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json
index 5abde87..bf03e8b 100644
--- a/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -163,7 +163,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210813",
   "rootUrl": "https://policyanalyzer.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicyanalyzerV1beta1Activity": {
diff --git a/googleapiclient/discovery_cache/documents/policysimulator.v1.json b/googleapiclient/discovery_cache/documents/policysimulator.v1.json
index 009ae6c..c21fff9 100644
--- a/googleapiclient/discovery_cache/documents/policysimulator.v1.json
+++ b/googleapiclient/discovery_cache/documents/policysimulator.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -493,7 +493,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://policysimulator.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicysimulatorV1AccessStateDiff": {
diff --git a/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json b/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
index 5499970..e3b6c62 100644
--- a/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -493,7 +493,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://policysimulator.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicysimulatorV1Replay": {
diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
index f58bdaa..b4645d2 100644
--- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
+++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210813",
   "rootUrl": "https://policytroubleshooter.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicytroubleshooterV1AccessTuple": {
@@ -441,7 +441,7 @@
       "type": "object"
     },
     "GoogleIamV1Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "GoogleIamV1Policy",
       "properties": {
         "auditConfigs": {
diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
index 025e884..8abebfa 100644
--- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210813",
   "rootUrl": "https://policytroubleshooter.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicytroubleshooterV1betaAccessTuple": {
@@ -441,7 +441,7 @@
       "type": "object"
     },
     "GoogleIamV1Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "GoogleIamV1Policy",
       "properties": {
         "auditConfigs": {
diff --git a/googleapiclient/discovery_cache/documents/privateca.v1.json b/googleapiclient/discovery_cache/documents/privateca.v1.json
index d46ea68..6f6fdac 100644
--- a/googleapiclient/discovery_cache/documents/privateca.v1.json
+++ b/googleapiclient/discovery_cache/documents/privateca.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -1590,7 +1590,7 @@
       }
     }
   },
-  "revision": "20210721",
+  "revision": "20210728",
   "rootUrl": "https://privateca.googleapis.com/",
   "schemas": {
     "AccessUrls": {
diff --git a/googleapiclient/discovery_cache/documents/privateca.v1beta1.json b/googleapiclient/discovery_cache/documents/privateca.v1beta1.json
index b18bcfa..d3fd055 100644
--- a/googleapiclient/discovery_cache/documents/privateca.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/privateca.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -1254,7 +1254,7 @@
       }
     }
   },
-  "revision": "20210721",
+  "revision": "20210728",
   "rootUrl": "https://privateca.googleapis.com/",
   "schemas": {
     "AccessUrls": {
diff --git a/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json b/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
index 97ca557..d7e1656 100644
--- a/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
@@ -2484,7 +2484,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210813",
   "rootUrl": "https://prod-tt-sasportal.googleapis.com/",
   "schemas": {
     "SasPortalAssignment": {
diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1.json b/googleapiclient/discovery_cache/documents/pubsub.v1.json
index 56a3cd4..8fd9bc3 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1.json
@@ -1424,7 +1424,7 @@
       }
     }
   },
-  "revision": "20210727",
+  "revision": "20210803",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
index db1b68a..f0e9cce 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
@@ -457,7 +457,7 @@
       }
     }
   },
-  "revision": "20210727",
+  "revision": "20210803",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
index d71f769..fb8821f 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
@@ -724,7 +724,7 @@
       }
     }
   },
-  "revision": "20210727",
+  "revision": "20210803",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
diff --git a/googleapiclient/discovery_cache/documents/pubsublite.v1.json b/googleapiclient/discovery_cache/documents/pubsublite.v1.json
index d80bfd0..736ceae 100644
--- a/googleapiclient/discovery_cache/documents/pubsublite.v1.json
+++ b/googleapiclient/discovery_cache/documents/pubsublite.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -841,7 +841,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210810",
   "rootUrl": "https://pubsublite.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
index f70e04f..901da8b 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
@@ -1140,7 +1140,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210814",
   "rootUrl": "https://realtimebidding.googleapis.com/",
   "schemas": {
     "ActivatePretargetingConfigRequest": {
diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
index d145ce7..2486244 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
@@ -234,7 +234,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210814",
   "rootUrl": "https://realtimebidding.googleapis.com/",
   "schemas": {
     "ActivateBiddingFunctionRequest": {
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1.json b/googleapiclient/discovery_cache/documents/recommender.v1.json
index 4d05306..8ab4c42 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -1178,7 +1178,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://recommender.googleapis.com/",
   "schemas": {
     "GoogleCloudRecommenderV1CostProjection": {
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
index 064d8dd..3389ee3 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -1178,7 +1178,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://recommender.googleapis.com/",
   "schemas": {
     "GoogleCloudRecommenderV1beta1CostProjection": {
diff --git a/googleapiclient/discovery_cache/documents/reseller.v1.json b/googleapiclient/discovery_cache/documents/reseller.v1.json
index f57ccdb..b03c87c 100644
--- a/googleapiclient/discovery_cache/documents/reseller.v1.json
+++ b/googleapiclient/discovery_cache/documents/reseller.v1.json
@@ -631,7 +631,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210810",
   "rootUrl": "https://reseller.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/resourcesettings.v1.json b/googleapiclient/discovery_cache/documents/resourcesettings.v1.json
index eca9d35..9144706 100644
--- a/googleapiclient/discovery_cache/documents/resourcesettings.v1.json
+++ b/googleapiclient/discovery_cache/documents/resourcesettings.v1.json
@@ -499,7 +499,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://resourcesettings.googleapis.com/",
   "schemas": {
     "GoogleCloudResourcesettingsV1ListSettingsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/retail.v2.json b/googleapiclient/discovery_cache/documents/retail.v2.json
index 1aee9bb..3476d05 100644
--- a/googleapiclient/discovery_cache/documents/retail.v2.json
+++ b/googleapiclient/discovery_cache/documents/retail.v2.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -1007,7 +1007,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210812",
   "rootUrl": "https://retail.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
@@ -1307,7 +1307,7 @@
           "type": "array"
         },
         "recentSearchResults": {
-          "description": "Matched recent searches of this user. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.",
+          "description": "Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.",
           "items": {
             "$ref": "GoogleCloudRetailV2CompleteQueryResponseRecentSearchResult"
           },
@@ -1871,7 +1871,7 @@
           "additionalProperties": {
             "$ref": "GoogleCloudRetailV2CustomAttribute"
           },
-          "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.",
+          "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.",
           "type": "object"
         },
         "audience": {
@@ -1955,7 +1955,7 @@
           "type": "array"
         },
         "gtin": {
-          "description": "The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.",
+          "description": "The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.",
           "type": "string"
         },
         "id": {
@@ -1974,7 +1974,7 @@
           "type": "string"
         },
         "materials": {
-          "description": "The material of the product. For example, \"leather\", \"wooden\". A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).",
+          "description": "The material of the product. For example, \"leather\", \"wooden\". A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).",
           "items": {
             "type": "string"
           },
@@ -1985,7 +1985,7 @@
           "type": "string"
         },
         "patterns": {
-          "description": "The pattern or graphic print of the product. For example, \"striped\", \"polka dot\", \"paisley\". A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).",
+          "description": "The pattern or graphic print of the product. For example, \"striped\", \"polka dot\", \"paisley\". A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).",
           "items": {
             "type": "string"
           },
@@ -2539,6 +2539,10 @@
             "Automatic query expansion built by Google Retail Search."
           ],
           "type": "string"
+        },
+        "pinUnexpandedResults": {
+          "description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.",
+          "type": "boolean"
         }
       },
       "type": "object"
@@ -2638,6 +2642,11 @@
         "expandedQuery": {
           "description": "Bool describing whether query expansion has occurred.",
           "type": "boolean"
+        },
+        "pinnedResultCount": {
+          "description": "Number of pinned results. This field will only be set when expansion happens and SearchRequest.query_expansion_spec.pin_unexpanded_results is set to true.",
+          "format": "int64",
+          "type": "string"
         }
       },
       "type": "object"
@@ -2671,7 +2680,7 @@
           "additionalProperties": {
             "type": "any"
           },
-          "description": "The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by \"colorFamilies:ANY(\\\"red\\\")\" and rollup \"colorFamilies\", only \"red\" is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors \"red\" and \"blue\", the rollup values are { key: \"colorFamilies\" value { list_value { values { string_value: \"red\" } values { string_value: \"blue\" } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, {key: \"pickupInStore.store1\" value { number_value: 10 }} means a there are 10 variants in this product are available in the store \"store1\".",
+          "description": "The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by \"colorFamilies:ANY(\\\"red\\\")\" and rollup \"colorFamilies\", only \"red\" is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors \"red\" and \"blue\", the rollup values are { key: \"colorFamilies\" value { list_value { values { string_value: \"red\" } values { string_value: \"blue\" } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, `{key: \"pickupInStore.store1\" value { number_value: 10 }}` means a there are 10 variants in this product are available in the store \"store1\".",
           "type": "object"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/retail.v2alpha.json b/googleapiclient/discovery_cache/documents/retail.v2alpha.json
index 1e5d2ac..0e9d208 100644
--- a/googleapiclient/discovery_cache/documents/retail.v2alpha.json
+++ b/googleapiclient/discovery_cache/documents/retail.v2alpha.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -1012,7 +1012,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210812",
   "rootUrl": "https://retail.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
@@ -1505,7 +1505,7 @@
           "type": "array"
         },
         "recentSearchResults": {
-          "description": "Matched recent searches of this user. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.",
+          "description": "Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.",
           "items": {
             "$ref": "GoogleCloudRetailV2alphaCompleteQueryResponseRecentSearchResult"
           },
@@ -2175,7 +2175,7 @@
           "additionalProperties": {
             "$ref": "GoogleCloudRetailV2alphaCustomAttribute"
           },
-          "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.",
+          "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.",
           "type": "object"
         },
         "audience": {
@@ -2259,7 +2259,7 @@
           "type": "array"
         },
         "gtin": {
-          "description": "The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.",
+          "description": "The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.",
           "type": "string"
         },
         "id": {
@@ -2278,7 +2278,7 @@
           "type": "string"
         },
         "materials": {
-          "description": "The material of the product. For example, \"leather\", \"wooden\". A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).",
+          "description": "The material of the product. For example, \"leather\", \"wooden\". A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).",
           "items": {
             "type": "string"
           },
@@ -2289,7 +2289,7 @@
           "type": "string"
         },
         "patterns": {
-          "description": "The pattern or graphic print of the product. For example, \"striped\", \"polka dot\", \"paisley\". A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).",
+          "description": "The pattern or graphic print of the product. For example, \"striped\", \"polka dot\", \"paisley\". A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).",
           "items": {
             "type": "string"
           },
@@ -2861,6 +2861,10 @@
             "Automatic query expansion built by Google Retail Search."
           ],
           "type": "string"
+        },
+        "pinUnexpandedResults": {
+          "description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.",
+          "type": "boolean"
         }
       },
       "type": "object"
@@ -2960,6 +2964,11 @@
         "expandedQuery": {
           "description": "Bool describing whether query expansion has occurred.",
           "type": "boolean"
+        },
+        "pinnedResultCount": {
+          "description": "Number of pinned results. This field will only be set when expansion happens and SearchRequest.query_expansion_spec.pin_unexpanded_results is set to true.",
+          "format": "int64",
+          "type": "string"
         }
       },
       "type": "object"
@@ -2993,7 +3002,7 @@
           "additionalProperties": {
             "type": "any"
           },
-          "description": "The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by \"colorFamilies:ANY(\\\"red\\\")\" and rollup \"colorFamilies\", only \"red\" is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors \"red\" and \"blue\", the rollup values are { key: \"colorFamilies\" value { list_value { values { string_value: \"red\" } values { string_value: \"blue\" } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, {key: \"pickupInStore.store1\" value { number_value: 10 }} means a there are 10 variants in this product are available in the store \"store1\".",
+          "description": "The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by \"colorFamilies:ANY(\\\"red\\\")\" and rollup \"colorFamilies\", only \"red\" is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors \"red\" and \"blue\", the rollup values are { key: \"colorFamilies\" value { list_value { values { string_value: \"red\" } values { string_value: \"blue\" } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, `{key: \"pickupInStore.store1\" value { number_value: 10 }}` means a there are 10 variants in this product are available in the store \"store1\".",
           "type": "object"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/retail.v2beta.json b/googleapiclient/discovery_cache/documents/retail.v2beta.json
index 734c264..fbf389e 100644
--- a/googleapiclient/discovery_cache/documents/retail.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/retail.v2beta.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -1007,7 +1007,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210812",
   "rootUrl": "https://retail.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
@@ -1749,7 +1749,7 @@
           "type": "array"
         },
         "recentSearchResults": {
-          "description": "Matched recent searches of this user. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.",
+          "description": "Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. This feature is only available when CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The recent searches satisfy the follow rules: * They are ordered from latest to oldest. * They are matched with CompleteQueryRequest.query case insensitively. * They are transformed to lower cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.",
           "items": {
             "$ref": "GoogleCloudRetailV2betaCompleteQueryResponseRecentSearchResult"
           },
@@ -2377,7 +2377,7 @@
           "additionalProperties": {
             "$ref": "GoogleCloudRetailV2betaCustomAttribute"
           },
-          "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * Max indexable entries count: 200 by default; 40 for Type.VARIANT. * Max searchable entries count: 30. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.",
+          "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example, key0LikeThis or KEY_1_LIKE_THIS.",
           "type": "object"
         },
         "audience": {
@@ -2461,7 +2461,7 @@
           "type": "array"
         },
         "gtin": {
-          "description": "The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.",
+          "description": "The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](https://support.google.com/merchants/answer/6324461). Schema.org property [Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.",
           "type": "string"
         },
         "id": {
@@ -2480,7 +2480,7 @@
           "type": "string"
         },
         "materials": {
-          "description": "The material of the product. For example, \"leather\", \"wooden\". A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).",
+          "description": "The material of the product. For example, \"leather\", \"wooden\". A maximum of 20 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [material](https://support.google.com/merchants/answer/6324410). Schema.org property [Product.material](https://schema.org/material).",
           "items": {
             "type": "string"
           },
@@ -2491,7 +2491,7 @@
           "type": "string"
         },
         "patterns": {
-          "description": "The pattern or graphic print of the product. For example, \"striped\", \"polka dot\", \"paisley\". A maximum of 5 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).",
+          "description": "The pattern or graphic print of the product. For example, \"striped\", \"polka dot\", \"paisley\". A maximum of 20 values are allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [pattern](https://support.google.com/merchants/answer/6324483). Schema.org property [Product.pattern](https://schema.org/pattern).",
           "items": {
             "type": "string"
           },
@@ -3045,6 +3045,10 @@
             "Automatic query expansion built by Google Retail Search."
           ],
           "type": "string"
+        },
+        "pinUnexpandedResults": {
+          "description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.",
+          "type": "boolean"
         }
       },
       "type": "object"
@@ -3144,6 +3148,11 @@
         "expandedQuery": {
           "description": "Bool describing whether query expansion has occurred.",
           "type": "boolean"
+        },
+        "pinnedResultCount": {
+          "description": "Number of pinned results. This field will only be set when expansion happens and SearchRequest.query_expansion_spec.pin_unexpanded_results is set to true.",
+          "format": "int64",
+          "type": "string"
         }
       },
       "type": "object"
@@ -3177,7 +3186,7 @@
           "additionalProperties": {
             "type": "any"
           },
-          "description": "The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by \"colorFamilies:ANY(\\\"red\\\")\" and rollup \"colorFamilies\", only \"red\" is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors \"red\" and \"blue\", the rollup values are { key: \"colorFamilies\" value { list_value { values { string_value: \"red\" } values { string_value: \"blue\" } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, {key: \"pickupInStore.store1\" value { number_value: 10 }} means a there are 10 variants in this product are available in the store \"store1\".",
+          "description": "The rollup matching variant Product attributes. The key is one of the SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated Product attributes. Notice that the rollup values are respect filter. For example, when filtering by \"colorFamilies:ANY(\\\"red\\\")\" and rollup \"colorFamilies\", only \"red\" is returned. For textual and numerical attributes, the rollup values is a list of string or double values with type google.protobuf.ListValue. For example, if there are two variants with colors \"red\" and \"blue\", the rollup values are { key: \"colorFamilies\" value { list_value { values { string_value: \"red\" } values { string_value: \"blue\" } } } } For FulfillmentInfo, the rollup values is a double value with type google.protobuf.Value. For example, `{key: \"pickupInStore.store1\" value { number_value: 10 }}` means a there are 10 variants in this product are available in the store \"store1\".",
           "type": "object"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/run.v1.json b/googleapiclient/discovery_cache/documents/run.v1.json
index 53a62d1..6788b53 100644
--- a/googleapiclient/discovery_cache/documents/run.v1.json
+++ b/googleapiclient/discovery_cache/documents/run.v1.json
@@ -1736,7 +1736,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210806",
   "rootUrl": "https://run.googleapis.com/",
   "schemas": {
     "Addressable": {
@@ -1904,7 +1904,7 @@
       "type": "object"
     },
     "Configuration": {
-      "description": "Configuration represents the \"floating HEAD\" of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration's spec. The \"latest created\" revision's name is available under status, as is the \"latest ready\" revision's name. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration",
+      "description": "Configuration represents the \"floating HEAD\" of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration's spec. The \"latest created\" revision's name is available under status, as is the \"latest ready\" revision's name. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#configuration",
       "id": "Configuration",
       "properties": {
         "apiVersion": {
@@ -2286,7 +2286,7 @@
           "type": "string"
         },
         "type": {
-          "description": "type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * \"Ready\": True when the Resource is ready.",
+          "description": "type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * \"Ready\": True when the Resource is ready.",
           "type": "string"
         }
       },
@@ -2860,7 +2860,7 @@
       "type": "object"
     },
     "Revision": {
-      "description": "Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision",
+      "description": "Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision",
       "id": "Revision",
       "properties": {
         "apiVersion": {
@@ -2896,7 +2896,7 @@
           "type": "integer"
         },
         "containers": {
-          "description": "Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md",
+          "description": "Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md",
           "items": {
             "$ref": "Container"
           },
@@ -2967,7 +2967,7 @@
       "type": "object"
     },
     "Route": {
-      "description": "Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for \"latest ready\" revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the \"latest ready\" Revision from that Configuration.",
+      "description": "Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for \"latest ready\" revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the \"latest ready\" Revision from that Configuration.",
       "id": "Route",
       "properties": {
         "apiVersion": {
@@ -3123,7 +3123,7 @@
       "type": "object"
     },
     "Service": {
-      "description": "Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service",
+      "description": "Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service",
       "id": "Service",
       "properties": {
         "apiVersion": {
diff --git a/googleapiclient/discovery_cache/documents/run.v1alpha1.json b/googleapiclient/discovery_cache/documents/run.v1alpha1.json
index 8a94960..cd2200a 100644
--- a/googleapiclient/discovery_cache/documents/run.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/run.v1alpha1.json
@@ -268,7 +268,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210806",
   "rootUrl": "https://run.googleapis.com/",
   "schemas": {
     "ConfigMapEnvSource": {
@@ -711,7 +711,7 @@
           "type": "string"
         },
         "type": {
-          "description": "Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: * \"Completed\": True when the Job has successfully completed. * \"Started\": True when the Job has successfully started running. * \"ResourcesAvailable\": True when underlying resources have been provisioned.",
+          "description": "Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types include: * \"Completed\": True when the Job has successfully completed. * \"Started\": True when the Job has successfully started running. * \"ResourcesAvailable\": True when underlying resources have been provisioned.",
           "type": "string"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
index 87a20e7..ed48c86 100644
--- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
+++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloudruntimeconfig": {
           "description": "Manage your Google Cloud Platform services' runtime configuration"
@@ -210,7 +210,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210809",
   "rootUrl": "https://runtimeconfig.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
diff --git a/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json b/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
index 9ecc1c7..b45d92a 100644
--- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloudruntimeconfig": {
           "description": "Manage your Google Cloud Platform services' runtime configuration"
@@ -805,7 +805,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210816",
   "rootUrl": "https://runtimeconfig.googleapis.com/",
   "schemas": {
     "Binding": {
@@ -976,7 +976,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
diff --git a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
index e408f92..6225a5e 100644
--- a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
+++ b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
@@ -261,7 +261,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210814",
   "rootUrl": "https://safebrowsing.googleapis.com/",
   "schemas": {
     "GoogleProtobufEmpty": {
diff --git a/googleapiclient/discovery_cache/documents/script.v1.json b/googleapiclient/discovery_cache/documents/script.v1.json
index 222f00d..bc2e2ff 100644
--- a/googleapiclient/discovery_cache/documents/script.v1.json
+++ b/googleapiclient/discovery_cache/documents/script.v1.json
@@ -887,7 +887,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://script.googleapis.com/",
   "schemas": {
     "Content": {
diff --git a/googleapiclient/discovery_cache/documents/searchconsole.v1.json b/googleapiclient/discovery_cache/documents/searchconsole.v1.json
index 7ad8582..5d7ed3a 100644
--- a/googleapiclient/discovery_cache/documents/searchconsole.v1.json
+++ b/googleapiclient/discovery_cache/documents/searchconsole.v1.json
@@ -373,7 +373,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://searchconsole.googleapis.com/",
   "schemas": {
     "ApiDataRow": {
diff --git a/googleapiclient/discovery_cache/documents/secretmanager.v1.json b/googleapiclient/discovery_cache/documents/secretmanager.v1.json
index 3799e47..16f3044 100644
--- a/googleapiclient/discovery_cache/documents/secretmanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/secretmanager.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -643,7 +643,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210806",
   "rootUrl": "https://secretmanager.googleapis.com/",
   "schemas": {
     "AccessSecretVersionResponse": {
diff --git a/googleapiclient/discovery_cache/documents/secretmanager.v1beta1.json b/googleapiclient/discovery_cache/documents/secretmanager.v1beta1.json
index 547044b..68eaa29 100644
--- a/googleapiclient/discovery_cache/documents/secretmanager.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/secretmanager.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -628,7 +628,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210806",
   "rootUrl": "https://secretmanager.googleapis.com/",
   "schemas": {
     "AccessSecretVersionResponse": {
diff --git a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
index 3232e51..0441a70 100644
--- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
@@ -542,7 +542,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://serviceconsumermanagement.googleapis.com/",
   "schemas": {
     "AddTenantProjectRequest": {
diff --git a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
index 4781bc2..7c8be11 100644
--- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
@@ -500,7 +500,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://serviceconsumermanagement.googleapis.com/",
   "schemas": {
     "Api": {
diff --git a/googleapiclient/discovery_cache/documents/servicedirectory.v1.json b/googleapiclient/discovery_cache/documents/servicedirectory.v1.json
index 456952e..14e5de3 100644
--- a/googleapiclient/discovery_cache/documents/servicedirectory.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1.json
@@ -883,7 +883,7 @@
       }
     }
   },
-  "revision": "20210721",
+  "revision": "20210804",
   "rootUrl": "https://servicedirectory.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json b/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json
index 49c77f7..9bd5223 100644
--- a/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json
@@ -883,7 +883,7 @@
       }
     }
   },
-  "revision": "20210721",
+  "revision": "20210804",
   "rootUrl": "https://servicedirectory.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
index 224d59e..a9808bc 100644
--- a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
@@ -829,7 +829,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210806",
   "rootUrl": "https://servicemanagement.googleapis.com/",
   "schemas": {
     "Advice": {
@@ -1472,7 +1472,7 @@
           "type": "string"
         },
         "description": {
-          "description": "The description is the comment in front of the selected proto element, such as a message, a method, a 'service' definition, or a field.",
+          "description": "Description of the selected proto element (e.g. a message, a method, a 'service' definition, or a field). Defaults to leading & trailing comments taken from the proto source definition of the proto element.",
           "type": "string"
         },
         "selector": {
@@ -2334,7 +2334,7 @@
           "type": "string"
         },
         "type": {
-          "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL.",
+          "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/resources) and [Logging resource types](https://cloud.google.com/logging/docs/api/v2/resource-list).",
           "type": "string"
         }
       },
diff --git a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
index 3dfa8a0..76da2e1 100644
--- a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/service.management": {
           "description": "Manage your Google API service configuration"
@@ -860,7 +860,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210813",
   "rootUrl": "https://servicenetworking.googleapis.com/",
   "schemas": {
     "AddDnsRecordSetMetadata": {
@@ -987,6 +987,10 @@
           "format": "int32",
           "type": "integer"
         },
+        "privateIpv6GoogleAccess": {
+          "description": "Optional. The private IPv6 google access type for the VMs in this subnet. For information about the access types that can be set using this field, see [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) in the Compute API documentation.",
+          "type": "string"
+        },
         "region": {
           "description": "Required. The name of a [region](/compute/docs/regions-zones) for the subnet, such `europe-west1`.",
           "type": "string"
@@ -2544,7 +2548,7 @@
       "id": "PeeredDnsDomain",
       "properties": {
         "dnsSuffix": {
-          "description": "The DNS domain name suffix e.g. `example.com.`.",
+          "description": "The DNS domain name suffix e.g. `example.com.`. Cloud DNS requires that a DNS suffix ends with a trailing dot.",
           "type": "string"
         },
         "name": {
diff --git a/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json b/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
index 0b16461..a5c28bf 100644
--- a/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/service.management": {
           "description": "Manage your Google API service configuration"
@@ -307,7 +307,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210813",
   "rootUrl": "https://servicenetworking.googleapis.com/",
   "schemas": {
     "AddDnsRecordSetMetadata": {
@@ -1832,7 +1832,7 @@
       "id": "PeeredDnsDomain",
       "properties": {
         "dnsSuffix": {
-          "description": "The DNS domain name suffix e.g. `example.com.`.",
+          "description": "The DNS domain name suffix e.g. `example.com.`. Cloud DNS requires that a DNS suffix ends with a trailing dot.",
           "type": "string"
         },
         "name": {
diff --git a/googleapiclient/discovery_cache/documents/serviceusage.v1.json b/googleapiclient/discovery_cache/documents/serviceusage.v1.json
index 714ea1c..29db124 100644
--- a/googleapiclient/discovery_cache/documents/serviceusage.v1.json
+++ b/googleapiclient/discovery_cache/documents/serviceusage.v1.json
@@ -426,7 +426,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://serviceusage.googleapis.com/",
   "schemas": {
     "AdminQuotaPolicy": {
diff --git a/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json b/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
index 27702c9..2947c36 100644
--- a/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
@@ -959,7 +959,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://serviceusage.googleapis.com/",
   "schemas": {
     "AdminQuotaPolicy": {
diff --git a/googleapiclient/discovery_cache/documents/sheets.v4.json b/googleapiclient/discovery_cache/documents/sheets.v4.json
index b4069d2..c0a6091 100644
--- a/googleapiclient/discovery_cache/documents/sheets.v4.json
+++ b/googleapiclient/discovery_cache/documents/sheets.v4.json
@@ -870,7 +870,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210809",
   "rootUrl": "https://sheets.googleapis.com/",
   "schemas": {
     "AddBandingRequest": {
diff --git a/googleapiclient/discovery_cache/documents/slides.v1.json b/googleapiclient/discovery_cache/documents/slides.v1.json
index 913c917..422a208 100644
--- a/googleapiclient/discovery_cache/documents/slides.v1.json
+++ b/googleapiclient/discovery_cache/documents/slides.v1.json
@@ -313,7 +313,7 @@
       }
     }
   },
-  "revision": "20210803",
+  "revision": "20210809",
   "rootUrl": "https://slides.googleapis.com/",
   "schemas": {
     "AffineTransform": {
diff --git a/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json b/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json
index 686e7df..2617f27 100644
--- a/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json
@@ -355,7 +355,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://smartdevicemanagement.googleapis.com/",
   "schemas": {
     "GoogleHomeEnterpriseSdmV1Device": {
diff --git a/googleapiclient/discovery_cache/documents/spanner.v1.json b/googleapiclient/discovery_cache/documents/spanner.v1.json
index 7c07436..7e92f9f 100644
--- a/googleapiclient/discovery_cache/documents/spanner.v1.json
+++ b/googleapiclient/discovery_cache/documents/spanner.v1.json
@@ -2037,7 +2037,7 @@
       }
     }
   },
-  "revision": "20210723",
+  "revision": "20210804",
   "rootUrl": "https://spanner.googleapis.com/",
   "schemas": {
     "Backup": {
diff --git a/googleapiclient/discovery_cache/documents/speech.v1.json b/googleapiclient/discovery_cache/documents/speech.v1.json
index c39d7a5..7b8b014 100644
--- a/googleapiclient/discovery_cache/documents/speech.v1.json
+++ b/googleapiclient/discovery_cache/documents/speech.v1.json
@@ -212,7 +212,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210805",
   "rootUrl": "https://speech.googleapis.com/",
   "schemas": {
     "ListOperationsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json b/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json
index 5cc9004..35a62d7 100644
--- a/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json
@@ -524,7 +524,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210805",
   "rootUrl": "https://speech.googleapis.com/",
   "schemas": {
     "ClassItem": {
diff --git a/googleapiclient/discovery_cache/documents/speech.v2beta1.json b/googleapiclient/discovery_cache/documents/speech.v2beta1.json
index 2cd5cd4..6d1a952 100644
--- a/googleapiclient/discovery_cache/documents/speech.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/speech.v2beta1.json
@@ -184,7 +184,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210805",
   "rootUrl": "https://speech.googleapis.com/",
   "schemas": {
     "ListOperationsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/storage.v1.json b/googleapiclient/discovery_cache/documents/storage.v1.json
index 63a99b7..2704f2f 100644
--- a/googleapiclient/discovery_cache/documents/storage.v1.json
+++ b/googleapiclient/discovery_cache/documents/storage.v1.json
@@ -26,7 +26,7 @@
   "description": "Stores and retrieves potentially large, immutable data objects.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/storage/docs/json_api/",
-  "etag": "\"33333438373635313438353533333033363733\"",
+  "etag": "\"3132313734373838303936393533333233313037\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png",
     "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png"
@@ -3230,7 +3230,7 @@
       }
     }
   },
-  "revision": "20210807",
+  "revision": "20210811",
   "rootUrl": "https://storage.googleapis.com/",
   "schemas": {
     "Bucket": {
diff --git a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
index a60da97..712c9a8 100644
--- a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
+++ b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
@@ -434,7 +434,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210805",
   "rootUrl": "https://storagetransfer.googleapis.com/",
   "schemas": {
     "AwsAccessKey": {
diff --git a/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json b/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
index 778e64f..f2a3899 100644
--- a/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
+++ b/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
@@ -375,7 +375,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://streetviewpublish.googleapis.com/",
   "schemas": {
     "BatchDeletePhotosRequest": {
diff --git a/googleapiclient/discovery_cache/documents/sts.v1.json b/googleapiclient/discovery_cache/documents/sts.v1.json
index f0364cc..0ca96bd 100644
--- a/googleapiclient/discovery_cache/documents/sts.v1.json
+++ b/googleapiclient/discovery_cache/documents/sts.v1.json
@@ -98,21 +98,6 @@
   "resources": {
     "v1": {
       "methods": {
-        "introspect": {
-          "description": "Gets information about a Google OAuth 2.0 access token issued by the Google Cloud [Security Token Service API](https://cloud.google.com/iam/docs/reference/sts/rest).",
-          "flatPath": "v1/introspect",
-          "httpMethod": "POST",
-          "id": "sts.introspect",
-          "parameterOrder": [],
-          "parameters": {},
-          "path": "v1/introspect",
-          "request": {
-            "$ref": "GoogleIdentityStsV1IntrospectTokenRequest"
-          },
-          "response": {
-            "$ref": "GoogleIdentityStsV1IntrospectTokenResponse"
-          }
-        },
         "token": {
           "description": "Exchanges a credential for a Google OAuth 2.0 access token. The token asserts an external identity within a workload identity pool, or it applies a Credential Access Boundary to a Google access token. When you call this method, do not send the `Authorization` HTTP header in the request. This method does not require the `Authorization` header, and using the header can cause the request to fail.",
           "flatPath": "v1/token",
@@ -131,7 +116,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://sts.googleapis.com/",
   "schemas": {
     "GoogleIdentityStsV1ExchangeTokenRequest": {
@@ -192,62 +177,6 @@
         }
       },
       "type": "object"
-    },
-    "GoogleIdentityStsV1IntrospectTokenRequest": {
-      "description": "Request message for IntrospectToken.",
-      "id": "GoogleIdentityStsV1IntrospectTokenRequest",
-      "properties": {
-        "token": {
-          "description": "Required. The OAuth 2.0 security token issued by the Security Token Service API.",
-          "type": "string"
-        },
-        "tokenTypeHint": {
-          "description": "Optional. The type of the given token. Supported values are `urn:ietf:params:oauth:token-type:access_token` and `access_token`.",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
-    "GoogleIdentityStsV1IntrospectTokenResponse": {
-      "description": "Response message for IntrospectToken.",
-      "id": "GoogleIdentityStsV1IntrospectTokenResponse",
-      "properties": {
-        "active": {
-          "description": "A boolean value that indicates whether the provided access token is currently active.",
-          "type": "boolean"
-        },
-        "client_id": {
-          "description": "The client identifier for the OAuth 2.0 client that requested the provided token.",
-          "type": "string"
-        },
-        "exp": {
-          "description": "The expiration timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token will expire.",
-          "format": "int64",
-          "type": "string"
-        },
-        "iat": {
-          "description": "The issued timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token was originally issued.",
-          "format": "int64",
-          "type": "string"
-        },
-        "iss": {
-          "description": "The issuer of the provided token.",
-          "type": "string"
-        },
-        "scope": {
-          "description": "A list of scopes associated with the provided token.",
-          "type": "string"
-        },
-        "sub": {
-          "description": "The unique user ID associated with the provided token. For Google Accounts, this value is based on the Google Account's user ID. For federated identities, this value is based on the identity pool ID and the value of the mapped `google.subject` attribute.",
-          "type": "string"
-        },
-        "username": {
-          "description": "The human-readable identifier for the token principal subject. For example, if the provided token is associated with a workload identity pool, this field contains a value in the following format: `principal://iam.googleapis.com/projects//locations/global/workloadIdentityPools//subject/`",
-          "type": "string"
-        }
-      },
-      "type": "object"
     }
   },
   "servicePath": "",
diff --git a/googleapiclient/discovery_cache/documents/sts.v1beta.json b/googleapiclient/discovery_cache/documents/sts.v1beta.json
index 61f8438..122bba3 100644
--- a/googleapiclient/discovery_cache/documents/sts.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/sts.v1beta.json
@@ -116,7 +116,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://sts.googleapis.com/",
   "schemas": {
     "GoogleIdentityStsV1betaExchangeTokenRequest": {
diff --git a/googleapiclient/discovery_cache/documents/tagmanager.v1.json b/googleapiclient/discovery_cache/documents/tagmanager.v1.json
index 3ea90aa..73529ee 100644
--- a/googleapiclient/discovery_cache/documents/tagmanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/tagmanager.v1.json
@@ -1932,7 +1932,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210811",
   "rootUrl": "https://tagmanager.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/tagmanager.v2.json b/googleapiclient/discovery_cache/documents/tagmanager.v2.json
index c6ff68f..0ef7a65 100644
--- a/googleapiclient/discovery_cache/documents/tagmanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/tagmanager.v2.json
@@ -3143,7 +3143,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210811",
   "rootUrl": "https://tagmanager.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/tasks.v1.json b/googleapiclient/discovery_cache/documents/tasks.v1.json
index bde55cb..49b629a 100644
--- a/googleapiclient/discovery_cache/documents/tasks.v1.json
+++ b/googleapiclient/discovery_cache/documents/tasks.v1.json
@@ -566,7 +566,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://tasks.googleapis.com/",
   "schemas": {
     "Task": {
diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1.json
index ea7cde5..c800c46 100644
--- a/googleapiclient/discovery_cache/documents/texttospeech.v1.json
+++ b/googleapiclient/discovery_cache/documents/texttospeech.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -153,7 +153,7 @@
       }
     }
   },
-  "revision": "20210713",
+  "revision": "20210813",
   "rootUrl": "https://texttospeech.googleapis.com/",
   "schemas": {
     "AudioConfig": {
@@ -166,13 +166,17 @@
             "AUDIO_ENCODING_UNSPECIFIED",
             "LINEAR16",
             "MP3",
-            "OGG_OPUS"
+            "OGG_OPUS",
+            "MULAW",
+            "ALAW"
           ],
           "enumDescriptions": [
             "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.",
             "Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.",
             "MP3 audio at 32kbps.",
-            "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate."
+            "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.",
+            "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header.",
+            "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header."
           ],
           "type": "string"
         },
diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
index e18ea1a..a145071 100644
--- a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -153,7 +153,7 @@
       }
     }
   },
-  "revision": "20210713",
+  "revision": "20210813",
   "rootUrl": "https://texttospeech.googleapis.com/",
   "schemas": {
     "AudioConfig": {
diff --git a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
index cc1443f..45cba31 100644
--- a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
@@ -1463,7 +1463,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210811",
   "rootUrl": "https://toolresults.googleapis.com/",
   "schemas": {
     "ANR": {
diff --git a/googleapiclient/discovery_cache/documents/translate.v3.json b/googleapiclient/discovery_cache/documents/translate.v3.json
index 917b1a1..4ea938b 100644
--- a/googleapiclient/discovery_cache/documents/translate.v3.json
+++ b/googleapiclient/discovery_cache/documents/translate.v3.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-translation": {
           "description": "Translate text from one language to another using Google Translate"
@@ -687,7 +687,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210809",
   "rootUrl": "https://translation.googleapis.com/",
   "schemas": {
     "BatchTranslateTextRequest": {
diff --git a/googleapiclient/discovery_cache/documents/translate.v3beta1.json b/googleapiclient/discovery_cache/documents/translate.v3beta1.json
index 0b63407..9c0435f 100644
--- a/googleapiclient/discovery_cache/documents/translate.v3beta1.json
+++ b/googleapiclient/discovery_cache/documents/translate.v3beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-translation": {
           "description": "Translate text from one language to another using Google Translate"
@@ -744,7 +744,7 @@
       }
     }
   },
-  "revision": "20210729",
+  "revision": "20210809",
   "rootUrl": "https://translation.googleapis.com/",
   "schemas": {
     "BatchDocumentInputConfig": {
diff --git a/googleapiclient/discovery_cache/documents/vault.v1.json b/googleapiclient/discovery_cache/documents/vault.v1.json
index f2d188f..888a38c 100644
--- a/googleapiclient/discovery_cache/documents/vault.v1.json
+++ b/googleapiclient/discovery_cache/documents/vault.v1.json
@@ -1193,7 +1193,7 @@
       }
     }
   },
-  "revision": "20210716",
+  "revision": "20210806",
   "rootUrl": "https://vault.googleapis.com/",
   "schemas": {
     "AccountCount": {
diff --git a/googleapiclient/discovery_cache/documents/vectortile.v1.json b/googleapiclient/discovery_cache/documents/vectortile.v1.json
index 74fd440..c3d51c9 100644
--- a/googleapiclient/discovery_cache/documents/vectortile.v1.json
+++ b/googleapiclient/discovery_cache/documents/vectortile.v1.json
@@ -343,7 +343,7 @@
       }
     }
   },
-  "revision": "20210809",
+  "revision": "20210813",
   "rootUrl": "https://vectortile.googleapis.com/",
   "schemas": {
     "Area": {
diff --git a/googleapiclient/discovery_cache/documents/vision.v1.json b/googleapiclient/discovery_cache/documents/vision.v1.json
index 083b5e4..a5e6fd6 100644
--- a/googleapiclient/discovery_cache/documents/vision.v1.json
+++ b/googleapiclient/discovery_cache/documents/vision.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-vision": {
           "description": "Apply machine learning models to understand and label images"
@@ -1282,7 +1282,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210809",
   "rootUrl": "https://vision.googleapis.com/",
   "schemas": {
     "AddProductToProductSetRequest": {
diff --git a/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json b/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json
index 2d184db..f668d34 100644
--- a/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-vision": {
           "description": "Apply machine learning models to understand and label images"
@@ -449,7 +449,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210809",
   "rootUrl": "https://vision.googleapis.com/",
   "schemas": {
     "AnnotateFileResponse": {
diff --git a/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json b/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json
index 88e5600..f88fd04 100644
--- a/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json
+++ b/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         },
         "https://www.googleapis.com/auth/cloud-vision": {
           "description": "Apply machine learning models to understand and label images"
@@ -449,7 +449,7 @@
       }
     }
   },
-  "revision": "20210730",
+  "revision": "20210809",
   "rootUrl": "https://vision.googleapis.com/",
   "schemas": {
     "AnnotateFileResponse": {
diff --git a/googleapiclient/discovery_cache/documents/webrisk.v1.json b/googleapiclient/discovery_cache/documents/webrisk.v1.json
index 2935623..821e4f3 100644
--- a/googleapiclient/discovery_cache/documents/webrisk.v1.json
+++ b/googleapiclient/discovery_cache/documents/webrisk.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -446,7 +446,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210806",
   "rootUrl": "https://webrisk.googleapis.com/",
   "schemas": {
     "GoogleCloudWebriskV1ComputeThreatListDiffResponse": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
index e7de994..1f5a857 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210813",
   "rootUrl": "https://websecurityscanner.googleapis.com/",
   "schemas": {
     "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
index ab4427d..4a83348 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210813",
   "rootUrl": "https://websecurityscanner.googleapis.com/",
   "schemas": {
     "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
index 3feeb66..7f130af 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210731",
+  "revision": "20210813",
   "rootUrl": "https://websecurityscanner.googleapis.com/",
   "schemas": {
     "Authentication": {
diff --git a/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json b/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
index 28da9ce..d2f19b5 100644
--- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
+++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -269,7 +269,7 @@
       }
     }
   },
-  "revision": "20210727",
+  "revision": "20210803",
   "rootUrl": "https://workflowexecutions.googleapis.com/",
   "schemas": {
     "CancelExecutionRequest": {
diff --git a/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json b/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
index da211c0..e6ff86a 100644
--- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
         }
       }
     }
@@ -269,7 +269,7 @@
       }
     }
   },
-  "revision": "20210727",
+  "revision": "20210803",
   "rootUrl": "https://workflowexecutions.googleapis.com/",
   "schemas": {
     "CancelExecutionRequest": {
diff --git a/googleapiclient/discovery_cache/documents/workflows.v1.json b/googleapiclient/discovery_cache/documents/workflows.v1.json
index b1770ca..d2923b5 100644
--- a/googleapiclient/discovery_cache/documents/workflows.v1.json
+++ b/googleapiclient/discovery_cache/documents/workflows.v1.json
@@ -444,7 +444,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210805",
   "rootUrl": "https://workflows.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/workflows.v1beta.json b/googleapiclient/discovery_cache/documents/workflows.v1beta.json
index 1f91d7b..5d3a6b3 100644
--- a/googleapiclient/discovery_cache/documents/workflows.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/workflows.v1beta.json
@@ -444,7 +444,7 @@
       }
     }
   },
-  "revision": "20210728",
+  "revision": "20210805",
   "rootUrl": "https://workflows.googleapis.com/",
   "schemas": {
     "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/youtube.v3.json b/googleapiclient/discovery_cache/documents/youtube.v3.json
index 1e66a15..29e9c50 100644
--- a/googleapiclient/discovery_cache/documents/youtube.v3.json
+++ b/googleapiclient/discovery_cache/documents/youtube.v3.json
@@ -3765,7 +3765,7 @@
       }
     }
   },
-  "revision": "20210804",
+  "revision": "20210814",
   "rootUrl": "https://youtube.googleapis.com/",
   "schemas": {
     "AbuseReport": {
@@ -8266,10 +8266,11 @@
       "type": "object"
     },
     "LiveChatMessageSnippet": {
+      "description": "Next ID: 29",
       "id": "LiveChatMessageSnippet",
       "properties": {
         "authorChannelId": {
-          "description": "The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase",
+          "description": "The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase superStickerEvent - the user that made the purchase",
           "type": "string"
         },
         "displayMessage": {
diff --git a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
index c0b37aa..beff419 100644
--- a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
+++ b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
@@ -421,7 +421,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210813",
   "rootUrl": "https://youtubeanalytics.googleapis.com/",
   "schemas": {
     "EmptyResponse": {
diff --git a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
index f10dcdd..96b2ad9 100644
--- a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
+++ b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
@@ -411,7 +411,7 @@
       }
     }
   },
-  "revision": "20210806",
+  "revision": "20210814",
   "rootUrl": "https://youtubereporting.googleapis.com/",
   "schemas": {
     "Empty": {